.elementor-kit-7{--e-global-color-primary:#7D2082;--e-global-color-secondary:#EB5D0B;--e-global-color-text:#15110F;--e-global-color-accent:#65B32E;--e-global-color-03d61b8:#006FB9;--e-global-color-df1c739:#6F6964;--e-global-color-5c4b3af:#A39D96;--e-global-color-4c62eba:#15110F1A;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Gloock";--e-global-typography-accent-font-weight:700;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* SIBW shared styles */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300..700;1,300..700&family=Poppins:wght@300;400;500;600;700&display=swap');


  /* ============================================================
     TOKENS
     ============================================================ */
  :root{
    /* brand */
    --purple:#7d2082;
    --orange:#eb5d0b;
    --green:#65b32e;
    --blue:#006fb9;

    /* neutrals */
    --ink:#15110f;
    --ink-2:#3a3633;
    --ink-3:#6f6964;
    --ink-4:#a39d96;

    --paper:#ffffff;        /* white page */
    --paper-2:#f6f4f0;      /* slightly deeper card */
    --paper-3:#ececec;      /* divider lines */
    --cream:#faf7f2;        /* feature blocks */
    --night:#15110f;        /* dark sections */
    --night-2:#221d19;

    --rule: rgba(21,17,15,.10);

    --max:1320px;
    --gutter:clamp(20px,4vw,56px);
    --t:cubic-bezier(.22,1,.36,1);

    /* type */
    --serif:'Fraunces', ui-serif, Georgia, serif;
    --sans:'Poppins', ui-sans-serif, system-ui, sans-serif;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    font-weight:400;
    color:var(--ink);
    background:var(--paper);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--purple);color:#fff}

  .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

  /* ============================================================
     SHARED ATOMS
     ============================================================ */
  .eyebrow{
    display:inline-flex;align-items:center;gap:12px;
    font-family:var(--sans);
    font-size:11px;font-weight:500;letter-spacing:.18em;
    text-transform:uppercase;color:var(--ink-3);
  }
  .eyebrow .bar{
    width:28px;height:1px;background:currentColor;opacity:.4;
  }
  .eyebrow .dotrow{display:inline-flex;gap:5px}
  .eyebrow .dotrow i{width:7px;height:7px;border-radius:50%;display:inline-block}
  .dot-o{background:var(--orange)}
  .dot-g{background:var(--green)}
  .dot-b{background:var(--blue)}
  .dot-p{background:var(--purple)}

  .label{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12px;font-weight:500;letter-spacing:.16em;
    text-transform:uppercase;
    padding:8px 14px 8px 12px;border-radius:999px;
    background:rgba(0,0,0,.04);
    color:var(--ink-2);
    border:1px solid var(--rule);
  }
  .label::before{
    content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-3);
  }
  .label.blue{color:#003e6a;background:rgba(0,111,185,.08);border-color:rgba(0,111,185,.22)}
  .label.blue::before{background:var(--blue)}
  .label.orange{color:#7a2f04;background:rgba(235,93,11,.08);border-color:rgba(235,93,11,.22)}
  .label.orange::before{background:var(--orange)}
  .label.green{color:#2f5614;background:rgba(101,179,46,.10);border-color:rgba(101,179,46,.28)}
  .label.green::before{background:var(--green)}
  .label.purple{color:#4a1252;background:rgba(125,32,130,.08);border-color:rgba(125,32,130,.22)}
  .label.purple::before{background:var(--purple)}
  .label.light{color:rgba(255,255,255,.85);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
  .label.light::before{background:rgba(255,255,255,.7)}

  .btn{
    display:inline-flex;align-items:center;gap:14px;
    padding:16px 22px;border-radius:999px;
    font-weight:500;font-size:15px;letter-spacing:.01em;
    transition:transform .25s var(--t), background .25s var(--t), color .25s var(--t);
    white-space:nowrap;
  }
  .btn .arr{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:50%;
    transition:transform .35s var(--t);
  }
  .btn:hover .arr{transform:translateX(4px)}
  .btn-primary{background:var(--ink);color:var(--paper)}
  .btn-primary .arr{background:var(--paper);color:var(--ink)}
  .btn-primary:hover{background:var(--purple)}
  .btn-secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(21,17,15,.25)}
  .btn-secondary .arr{background:var(--ink);color:var(--paper)}
  .btn-secondary:hover{background:var(--green);color:#fff;box-shadow:inset 0 0 0 1px var(--green)}
  .btn-secondary:hover .arr{background:#fff;color:var(--green)}
  .btn-ghost-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
  .btn-ghost-light .arr{background:#fff;color:var(--ink)}
  .btn-ghost-light:hover{background:#fff;color:var(--ink)}

  .inline-link{
    display:inline-flex;align-items:baseline;gap:10px;
    font-weight:500;color:var(--ink);
    border-bottom:1px solid var(--ink);padding-bottom:3px;
    transition:gap .25s var(--t), color .25s var(--t), border-color .25s var(--t);
  }
  .inline-link:hover{gap:16px;color:var(--purple);border-color:var(--purple)}

  /* Poppins headings; serif reserved for quotes */
  h1, h2, h3, .display{font-family:var(--sans);font-weight:600;letter-spacing:-.025em;line-height:1.04}
  h1 em, h2 em, h3 em{font-style:normal;font-weight:300;color:var(--ink-2)}
  .quote-serif, .pullquote, blockquote, .hero-quote p, .legal .closer p, .stats-shelf .figure{
    font-family:var(--serif) !important; font-weight:300 !important;
  }

  /* ============================================================
     NAV
     ============================================================ */
  nav.top{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.85);
    backdrop-filter:saturate(140%) blur(14px);
    -webkit-backdrop-filter:saturate(140%) blur(14px);
    border-bottom:1px solid transparent;
    transition:border-color .3s var(--t), background .3s var(--t);
  }
  nav.top .wrap{max-width:none;padding-left:clamp(28px,4vw,64px);padding-right:clamp(28px,4vw,64px)}
  nav.top.scrolled{border-bottom-color:var(--rule)}
  nav.top .wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:18px;padding-bottom:18px;gap:20px;
  }
  nav.top .brand{display:flex;align-items:center;gap:14px}
  nav.top .brand .brand-logo{
    height:42px;width:auto;display:block;
  }
  @media(max-width:560px){
    nav.top .brand .brand-logo{height:34px}
  }
  nav.top ul{
    list-style:none;display:flex;align-items:center;
    gap:clamp(18px,2.4vw,34px);
  }
  nav.top ul a{
    font-size:14px;color:var(--ink-2);
    transition:color .2s var(--t);position:relative;
  }
  nav.top ul a:not(.contact-btn):hover{color:var(--ink)}
  nav.top ul a:not(.contact-btn)::after{
    content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);
    transition:right .25s var(--t);
  }
  nav.top ul a:not(.contact-btn):hover::after{right:0}
  .contact-btn,
  nav.top ul a.contact-btn,
  nav.top ul a.contact-btn:hover,
  nav.top ul a.contact-btn:visited{
    color:#fff !important;
  }
  .contact-btn{
    background:#eb5d0b;color:#fff;
    padding:10px 18px;border-radius:999px;font-weight:500;
    display:inline-flex;align-items:center;gap:8px;
  }
  .contact-btn::after{display:none !important}
  .contact-btn:hover{background:var(--ink);color:#fff}
  .contact-btn .pulse{
    width:7px;height:7px;border-radius:50%;background:#fff;
    box-shadow:0 0 0 0 rgba(255,255,255,.8);
    animation:pulse 2.4s var(--t) infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(255,255,255,.8)}
    70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}
    100%{box-shadow:0 0 0 0 rgba(101,179,46,0)}
  }
  @media(max-width:820px){
    nav.top ul li:not(:last-child){display:none}
  }

  /* ============================================================
     HERO — full-width
     ============================================================ */
  .hero{
    padding:clamp(40px,5vw,72px) 0 0;
    position:relative;
    background:#fff;
    overflow:clip;
    overflow-clip-margin:120px;
  }
  .hero::before{
    content:"";position:absolute;
    width:520px;height:520px;border-radius:50%;
    left:-180px;top:-160px;
    background:radial-gradient(circle, rgba(125,32,130,.10), rgba(125,32,130,0) 70%);
    pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;
    width:420px;height:420px;border-radius:50%;
    right:-140px;bottom:-40px;
    background:radial-gradient(circle, rgba(0,111,185,.10), rgba(0,111,185,0) 70%);
    pointer-events:none;
  }
  .hero .wrap{position:relative;max-width:none;padding:0}
  .hero-grid{
    display:grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap:clamp(24px,3vw,56px);
    align-items:stretch;
  }
  .hero-text{
    padding:clamp(24px,3vw,56px) clamp(24px,4vw,80px) clamp(40px,5vw,80px);
    align-self:center;
  }
  @media(max-width:960px){
    .hero-grid{grid-template-columns:1fr;gap:32px}
    .hero-text{padding:clamp(24px,5vw,40px)}
  }

  .hero h1{
    font-size:clamp(34px,4.4vw,68px);
    margin:24px 0 24px;
    max-width:18ch;
    font-weight:600;
    letter-spacing:-.025em;
    line-height:1.05;
  }
  .hero h1 em{
    font-family:var(--sans);font-style:normal;font-weight:300;
    color:var(--ink-2);
  }
  .hero h1 .accent{
    position:relative;display:inline-block;
    color:var(--purple);
  }
  .hero h1 .accent::after{
    content:"";position:absolute;left:-.04em;right:-.04em;bottom:.08em;height:.32em;
    background:rgba(235,93,11,.22);z-index:-1;
  }

  .hero .lede{
    font-size:clamp(16px,1.15vw,19px);
    line-height:1.55;color:var(--ink-2);
    max-width:44ch;margin-bottom:32px;
  }
  .hero .lede strong{color:var(--ink);font-weight:500}

  .hero .ctas{display:flex;flex-wrap:wrap;gap:14px}

  .hero-figure{
    position:relative;align-self:stretch;
    min-height:clamp(520px, 78vh, 880px);
    overflow:visible;
    background:var(--paper-2);
  }
  .hero-figure::before{
    content:"";position:absolute;
    width:140px;height:140px;border-radius:50%;
    right:40px;bottom:-70px;z-index:4;
    background:var(--green);
    opacity:.7;
  }
  .hero-figure::after{
    content:"";position:absolute;
    width:60px;height:60px;border-radius:50%;
    right:32px;top:120px;z-index:2;
    background:var(--orange);
    opacity:.7;
  }
  .hero-figure img{
    width:100%;height:100%;object-fit:cover;
    filter:saturate(.92) contrast(1.02);
    position:relative;
  }

  .hero-figure .badge{
    position:absolute;left:20px;top:20px;
    display:inline-flex;align-items:center;gap:10px;
    padding:8px 14px;border-radius:999px;
    background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
    font-size:11px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ink-2);
    z-index:3;
  }
  .hero-figure .badge i{width:7px;height:7px;border-radius:50%;background:var(--green);
    animation:pulse 2.4s var(--t) infinite;}

  .hero-quote{
    position:absolute;
    left:24px;right:24px;bottom:24px;
    background:rgba(20,17,12,.72);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    color:#f5f1ea;
    padding:18px 36px 18px 84px;
    box-shadow:0 40px 80px -30px rgba(0,0,0,.5);
    z-index:3;
    display:flex;align-items:center;
  }
  .hero-quote .marker{
    position:absolute;
    left:30px;top:0;
    font-family:var(--serif);
    font-size:96px;line-height:1;
    color:var(--orange);
    font-weight:300;
    pointer-events:none;
  }
  .hero-quote p{
    font-family:var(--serif);font-style:italic;
    font-size:clamp(26px,2.2vw,36px);
    line-height:1.3;font-weight:300;
    letter-spacing:-.005em;
    text-wrap:balance;
    margin:0;
  }
  @media(max-width:960px){
    .hero-quote{position:relative;left:auto;right:auto;bottom:auto;margin:18px clamp(20px,4vw,40px) 0;padding:16px 28px 16px 72px}
    .hero-quote .marker{font-size:80px;left:22px;top:-4px}
  }

  .hero-meta{
    display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:center;text-align:center;
    margin:64px clamp(24px,4vw,80px) 0;padding-top:28px;padding-bottom:28px;
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    color:var(--ink-3);font-size:13px;
  }
  .hero-meta .stat::before{
    content:"";display:inline-block;width:10px;height:10px;border-radius:50%;
    background:var(--ink);margin-right:6px;
  }
  .hero-meta .stat:nth-child(1)::before{background:var(--orange)}
  .hero-meta .stat:nth-child(2)::before{background:var(--green)}
  .hero-meta .stat:nth-child(3)::before{background:var(--blue)}
  .hero-meta .stat{display:flex;align-items:baseline;gap:10px}
  .hero-meta .stat b{
    font-family:var(--serif);font-weight:300;
    color:var(--ink);font-size:24px;letter-spacing:-.01em;
  }

  /* ============================================================
     COLOR MARQUEE
     ============================================================ */
  .marquee{
    border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
    padding:28px 0;background:var(--paper);overflow:hidden;
    margin-top:clamp(48px,7vw,96px);
  }
  .marquee-track{
    display:flex;gap:64px;align-items:center;
    white-space:nowrap;
    animation:slide 40s linear infinite;
    font-family:var(--sans);
    font-size:clamp(20px,2.4vw,36px);
    font-weight:500;letter-spacing:-.02em;
    color:var(--ink);
  }
  .marquee-track span{display:inline-block}
  .marquee-track i{
    width:18px;height:18px;border-radius:50%;
    display:inline-block;flex:none;
  }
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ============================================================
     BLOCK (image + text)
     ============================================================ */
  .block{padding:clamp(64px,9vw,128px) 0}
  .block#werknemer{padding-top:0}
  .block#werknemer .block-grid{padding-top:clamp(64px,8vw,120px)}
  .block-grid{
    display:grid;grid-template-columns:1fr 1fr;
    gap:clamp(32px,5vw,80px);
    align-items:center;
  }
  .block-grid.reverse > :first-child{order:2}
  .block-grid.reverse > :last-child{order:1}
  @media(max-width:880px){
    .block-grid{grid-template-columns:1fr;gap:32px}
    .block-grid.reverse > :first-child,
    .block-grid.reverse > :last-child{order:initial}
  }

  .block .text > h2{
    font-size:clamp(34px,4.4vw,60px);
    margin:24px 0 22px;
    max-width:18ch;
    font-weight:600;
  }
  .block .text > p{
    color:var(--ink-2);font-size:17px;line-height:1.65;
    max-width:54ch;margin-bottom:16px;
  }
  .block .text .pullquote{
    margin-top:30px;padding:22px 26px;
    border-left:3px solid var(--orange);
    background:var(--paper-2);
    font-family:var(--serif);font-style:italic;
    font-size:22px;line-height:1.35;color:var(--ink);
  }
  #werkgever .pullquote{}
  #netwerk .pullquote{}
  #werknemer .pullquote{border-left-color:var(--orange)}

  .block-image{
    position:relative;aspect-ratio:5/6;
    overflow:hidden;background:var(--paper-2);
  }
  .block-image::after{
    content:"";position:absolute;width:80px;height:80px;border-radius:50%;
    z-index:2;
  }
  #werkgever{background:#eb5d0b;color:#fff}
  #werkgever .text > h2{color:#fff}
  #werkgever .text > p{color:rgba(255,255,255,.92)}
  #werkgever .text > p strong{color:#fff}
  #werkgever .label{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.22)}
  #werkgever .label::before{background:#fff}
  #werkgever .pullquote{
    background:rgba(255,255,255,.10);
    border-left-color:#fff;
    color:#fff;
  }
  #werkgever .block-image::after{background:var(--purple);right:30px;top:30px}
  #werkgever .block-image .tag{background:rgba(20,17,12,.85);color:#fff}
  #werkgever .btn-primary{background:#fff;color:#eb5d0b}
  #werkgever .btn-primary .arr{background:#eb5d0b;color:#fff}
  #werkgever .btn-primary:hover{background:var(--ink);color:#fff}
  #werkgever .btn-primary:hover .arr{background:#fff;color:var(--ink)}
  #werkgever .btn-secondary{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
  #werkgever .btn-secondary .arr{background:#fff;color:#eb5d0b}
  #werkgever .btn-secondary:hover{background:#fff;color:#eb5d0b;box-shadow:inset 0 0 0 1px #fff}
  #werkgever .btn-secondary:hover .arr{background:#eb5d0b;color:#fff}

  #netwerk{background:#65b32e;color:#fff}
  #netwerk .text > h2{color:#fff}
  #netwerk .text > p{color:rgba(255,255,255,.92)}
  #netwerk .text > p strong{color:#fff}
  #netwerk .label{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.22)}
  #netwerk .label::before{background:#fff}
  #netwerk .pullquote{
    background:rgba(255,255,255,.10);
    border-left-color:#fff;
    color:#fff;
  }
  #netwerk .block-image::after{background:var(--purple);right:-20px;bottom:80px}
  #netwerk .block-image .tag{background:rgba(20,17,12,.85);color:#fff}
  #netwerk .block-image .corner-num{color:#fff}
  #netwerk .btn-primary{background:#fff;color:#65b32e}
  #netwerk .btn-primary .arr{background:#65b32e;color:#fff}
  #netwerk .btn-primary:hover{background:var(--ink);color:#fff}
  #netwerk .btn-primary:hover .arr{background:#fff;color:var(--ink)}
  #netwerk .btn-secondary{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
  #netwerk .btn-secondary .arr{background:#fff;color:#65b32e}
  #netwerk .btn-secondary:hover{background:#fff;color:#65b32e;box-shadow:inset 0 0 0 1px #fff}
  #netwerk .btn-secondary:hover .arr{background:#65b32e;color:#fff}

  #werknemer .block-image::after{background:var(--blue);left:-20px;bottom:60px}
  .block-image img{width:100%;height:100%;object-fit:cover;
    transform:scale(1.02);transition:transform 1.4s var(--t);}
  .block-image:hover img{transform:scale(1)}
  .block-image .tag{
    position:absolute;left:18px;bottom:18px;
    background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
    padding:10px 14px;
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
    z-index:3;
  }
  .block-image .corner-num{
    position:absolute;right:14px;top:14px;
    font-family:var(--serif);font-size:46px;font-weight:300;
    color:rgba(255,255,255,.92);text-shadow:0 2px 18px rgba(0,0,0,.35);
    letter-spacing:-.02em;
  }

  /* stats block under werkgever */
  .stats-shelf{
    margin-top:60px;
    display:grid;grid-template-columns:1.1fr 1.6fr;
    gap:clamp(24px,4vw,72px);
    padding:48px clamp(28px,4vw,56px);
    background:#fff;
    color:var(--ink);
  }
  @media(max-width:760px){.stats-shelf{grid-template-columns:1fr}}
  .stats-shelf .figure{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(58px,9vw,120px);line-height:1;
    letter-spacing:-.03em;color:var(--ink);
  }
  .stats-shelf .figure .currency{color:#eb5d0b;margin-right:.05em}
  .stats-shelf .caption{
    margin-top:16px;font-size:14px;color:var(--ink-3);max-width:30ch;
  }
  .stats-shelf .right p{
    color:var(--ink-2);font-size:17px;line-height:1.65;margin-bottom:14px;
    max-width:55ch;
  }
  .stats-shelf .right p:last-child{margin-bottom:0}
  .stats-section{padding:clamp(64px,9vw,128px) 0 0;background:#fff}
  .stats-section .stats-shelf{margin-top:0;padding:0;background:transparent}
  .photo-strip-full{margin-top:clamp(48px,7vw,96px);width:100%;aspect-ratio:21/6}

  /* secondary photo strip */
  .photo-strip{
    margin-top:64px;overflow:hidden;
    aspect-ratio:21/8;position:relative;background:var(--paper-2);
  }
  .photo-strip img{width:100%;height:100%;object-fit:cover;
    transform:scale(1.02);transition:transform 1.4s var(--t);}
  .photo-strip:hover img{transform:scale(1)}
  .photo-strip .overlay{
    position:absolute;inset:auto 0 0 0;padding:20px 24px;
    background:linear-gradient(to top, rgba(21,17,15,.55), transparent);
    color:#fff;display:flex;justify-content:space-between;align-items:end;gap:16px;
    font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  }

  /* ============================================================
     AANBOD — services
     ============================================================ */
  .aanbod{
    background:#fff;
    padding:clamp(72px,10vw,144px) 0;
    border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
    position:relative;overflow:hidden;
  }
  .aanbod::before{
    content:"";position:absolute;
    width:560px;height:560px;border-radius:50%;
    right:-220px;top:-200px;
    background:radial-gradient(circle, rgba(101,179,46,.10), transparent 70%);
    pointer-events:none;
  }
  .aanbod .wrap{position:relative}
  .aanbod-head{
    display:grid;grid-template-columns:1fr 1.4fr;
    gap:clamp(24px,4vw,72px);align-items:end;
    margin-bottom:64px;
  }
  @media(max-width:880px){.aanbod-head{grid-template-columns:1fr}}
  .aanbod-head h2{font-size:clamp(38px,5vw,76px);max-width:14ch}
  .aanbod-head p{color:var(--ink-2);font-size:17px;line-height:1.6;max-width:48ch}

  .aanbod-list{
    display:grid;grid-template-columns:repeat(2,1fr);
    border-top:1px solid var(--rule);
  }
  @media(max-width:760px){.aanbod-list{grid-template-columns:1fr}}
  .service{
    display:grid;grid-template-columns:80px 1fr auto;
    gap:24px;align-items:start;
    padding:32px 0;
    border-bottom:1px solid var(--rule);
    position:relative;
    transition:background .3s var(--t);
  }
  .service:nth-child(odd){border-right:1px solid var(--rule);padding-right:32px}
  .service:nth-child(even){padding-left:32px}
  @media(max-width:760px){
    .service:nth-child(odd){border-right:0;padding-right:0}
    .service:nth-child(even){padding-left:0}
  }
  .service::before{
    content:"";position:absolute;left:0;top:0;height:100%;width:0;
    background:linear-gradient(180deg, rgba(125,32,130,.04), rgba(125,32,130,0));
    transition:width .35s var(--t);pointer-events:none;
  }
  .service:hover::before{width:100%}
  .service .num{
    width:58px;height:58px;border-radius:50%;
    display:grid;place-items:center;
    font-family:var(--sans);font-weight:600;font-style:normal;
    font-size:18px;color:#fff;letter-spacing:.02em;
    background:var(--ink);
  }
  .service h3{
    font-family:var(--sans);font-weight:600;font-size:22px;letter-spacing:-.015em;
    margin-bottom:8px;color:var(--ink);
  }
  .service p{color:var(--ink-3);font-size:15px;line-height:1.55;max-width:42ch}
  .service .go{
    width:42px;height:42px;border-radius:50%;
    background:transparent;border:1px solid var(--rule);
    display:grid;place-items:center;color:var(--ink);
    transition:background .25s var(--t), color .25s var(--t), border-color .25s var(--t), transform .35s var(--t);
    margin-top:6px;
  }
  .service:hover .go{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateX(4px)}

  /* color stripe per service */
  .service[data-c="o"] .num{background:var(--orange)}
  .service[data-c="g"] .num{background:var(--green)}
  .service[data-c="b"] .num{background:var(--blue)}
  .service[data-c="p"] .num{background:var(--purple)}

  /* ============================================================
     4 M's
     ============================================================ */
  .four-m{
    background:#fff;color:var(--ink);
    padding:clamp(72px,10vw,140px) 0;
    position:relative;overflow:hidden;
    border-bottom:1px solid var(--rule);
  }
  .four-m::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(40% 50% at 85% 15%, rgba(125,32,130,.08), transparent 60%),
               radial-gradient(40% 50% at 5% 90%, rgba(0,111,185,.07), transparent 60%);
    pointer-events:none;
  }
  .four-m .wrap{position:relative}
  .four-m .head{
    display:grid;grid-template-columns:1fr 1.2fr;
    gap:clamp(24px,4vw,72px);align-items:end;
    margin-bottom:72px;
  }
  @media(max-width:880px){.four-m .head{grid-template-columns:1fr}}
  .four-m .head-figure{
    position:relative;
    aspect-ratio:4/5;
    overflow:hidden;
    background:var(--paper-2);
    max-width:480px;
  }
  .four-m .head-figure img{
    width:100%;height:100%;object-fit:cover;
    filter:saturate(.92) contrast(1.02);
  }
  .four-m .head-figure::before{
    content:"";position:absolute;
    width:90px;height:90px;border-radius:50%;
    right:-30px;top:40px;z-index:2;
    background:var(--purple);mix-blend-mode:multiply;opacity:.85;
  }
  .four-m .head-figure::after{
    content:"";position:absolute;
    width:48px;height:48px;border-radius:50%;
    left:30px;bottom:40px;z-index:2;
    background:var(--green);
  }
  .four-m .head-left{display:flex;flex-direction:column;gap:28px;align-items:flex-start}
  .four-m h2{
    font-size:clamp(40px,5.5vw,84px);color:var(--ink);margin-top:24px;max-width:16ch;
  }
  .four-m h2 em{color:var(--ink-3)}
  .four-m .head p{color:var(--ink-2);font-size:17px;line-height:1.65;max-width:52ch}
  .four-m .label.light{color:var(--ink-2);background:rgba(0,0,0,.04);border-color:var(--rule)}
  .four-m .label.light::before{background:var(--purple)}

  .m-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  }
  @media(max-width:880px){.m-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.m-grid{grid-template-columns:1fr}}
  .m-item{
    padding:36px 28px 32px;
    background:var(--paper-2);
    position:relative;overflow:hidden;
    transition:transform .3s var(--t), background .3s var(--t);
  }
  .m-item:hover{transform:translateY(-4px)}
  .m-item:nth-child(1){background:rgba(235,93,11,.06)}
  .m-item:nth-child(2){background:rgba(101,179,46,.07)}
  .m-item:nth-child(3){background:rgba(0,111,185,.06)}
  .m-item:nth-child(4){background:rgba(125,32,130,.06)}
  .m-item .big-m{
    font-family:var(--serif);font-weight:300;font-style:italic;
    font-size:160px;line-height:.9;letter-spacing:-.04em;
    color:rgba(0,0,0,.05);
    position:absolute;right:-10px;bottom:-40px;pointer-events:none;
  }
  .m-item h3{
    font-family:var(--sans);font-weight:600;font-size:24px;color:var(--ink);
    margin-bottom:10px;letter-spacing:-.015em;
  }
  .m-item .tick{
    width:48px;height:48px;border-radius:50%;
    display:grid;place-items:center;color:#fff;
    margin-bottom:22px;font-family:var(--sans);font-weight:600;font-size:18px;
  }
  .m-item:nth-child(1) .tick{background:var(--orange)}
  .m-item:nth-child(2) .tick{background:var(--green)}
  .m-item:nth-child(3) .tick{background:var(--blue)}
  .m-item:nth-child(4) .tick{background:var(--purple)}
  .m-item p{color:var(--ink-2);font-size:14px;line-height:1.55;position:relative}

  /* ============================================================
     LEGAL
     ============================================================ */
  .legal{padding:clamp(72px,10vw,140px) 0;background:#fff;position:relative;overflow:hidden}
  .legal::before{
    content:"";position:absolute;
    width:380px;height:380px;border-radius:50%;
    left:-140px;bottom:60px;
    background:radial-gradient(circle, rgba(235,93,11,.07), transparent 70%);
  }
  .legal .wrap{position:relative}
  .legal h2{font-size:clamp(38px,5vw,72px);margin-top:24px;margin-bottom:64px;max-width:18ch;font-weight:600}

  .legal-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  }
  @media(max-width:860px){.legal-grid{grid-template-columns:1fr}}
  .legal-item{
    padding:36px 28px 36px 0;
    border-right:1px solid var(--rule);
    position:relative;
  }
  .legal-grid > .legal-item:last-child{border-right:0;padding-right:0}
  @media(max-width:860px){
    .legal-item{border-right:0;border-bottom:1px solid var(--rule);padding:28px 0}
    .legal-grid > .legal-item:last-child{border-bottom:0}
  }
  .legal-item:not(:first-child){padding-left:28px}
  @media(max-width:860px){.legal-item:not(:first-child){padding-left:0}}
  .legal-item .num{
    width:44px;height:44px;border-radius:50%;
    display:inline-grid;place-items:center;
    font-family:var(--sans);font-weight:600;font-size:14px;
    color:#fff;background:var(--ink);margin-bottom:18px;
  }
  .legal-grid > .legal-item:nth-child(1) .num{background:var(--orange)}
  .legal-grid > .legal-item:nth-child(2) .num{background:var(--blue)}
  .legal-grid > .legal-item:nth-child(3) .num{background:var(--purple)}
  .legal-item h3{
    font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:-.015em;color:var(--ink);
    margin-bottom:12px;
  }
  .legal-item p{color:var(--ink-2);font-size:15px;line-height:1.6;max-width:42ch}

  .legal .closer{
    margin-top:48px;
    display:grid;grid-template-columns:1.4fr 1fr;
    gap:32px;align-items:center;
  }
  @media(max-width:760px){.legal .closer{grid-template-columns:1fr}}
  .legal .closer p{
    font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.4vw,30px);
    line-height:1.35;color:var(--ink);max-width:42ch;
  }
  .legal .closer p em{font-style:italic;color:var(--ink-3)}

  .legal-cta{background:#7d2082;color:#fff;padding:clamp(72px,9vw,128px) 0;position:relative;overflow:hidden}
  .legal-cta::before{
    content:"";position:absolute;
    width:380px;height:380px;border-radius:50%;
    right:-120px;top:-140px;
    background:radial-gradient(circle, rgba(255,255,255,.10), transparent 70%);
    pointer-events:none;
  }
  .legal-cta::after{
    content:"";position:absolute;
    width:0;height:0;
    pointer-events:none;
  }
  .legal-cta .closer{
    position:relative;
    margin-top:0;
    display:grid;grid-template-columns:1.4fr 1fr;
    gap:48px;align-items:center;
  }
  @media(max-width:760px){.legal-cta .closer{grid-template-columns:1fr}}
  .legal-cta .closer p{
    font-family:var(--serif) !important;font-weight:300 !important;
    font-size:clamp(24px,2.6vw,36px);
    line-height:1.3;color:#fff;max-width:36ch;margin:0;
  }
  .legal-cta .closer p em{font-style:italic;color:rgba(255,255,255,.7)}
  .legal-cta .btn-primary{background:#fff;color:#7d2082}
  .legal-cta .btn-primary .arr{background:#7d2082;color:#fff}
  .legal-cta .btn-primary:hover{background:#eb5d0b;color:#fff}
  .legal-cta .btn-primary:hover .arr{background:#fff;color:#eb5d0b}

  /* ============================================================
     CLOSING QUOTE
     ============================================================ */
  .closing{
    background:#fff;color:var(--ink);
    padding:clamp(80px,12vw,160px) 0;
    position:relative;overflow:hidden;
    border-top:1px solid var(--rule);
  }
  .closing::after{
    content:"";position:absolute;
    width:240px;height:240px;border-radius:50%;left:8%;top:18%;
    background:radial-gradient(circle,rgba(101,179,46,.18), transparent 70%);
  }
  .closing::before{
    content:"";position:absolute;
    width:320px;height:320px;border-radius:50%;right:8%;bottom:10%;
    background:radial-gradient(circle,rgba(125,32,130,.18), transparent 70%);
  }
  .closing .wrap{position:relative;text-align:center}
  .closing .dotrow{
    display:inline-flex;gap:8px;margin-bottom:36px;
  }
  .closing .dotrow i{width:9px;height:9px;border-radius:50%}
  .closing blockquote{
    font-family:var(--sans) !important;font-style:normal !important;font-weight:600 !important;
    font-size:clamp(34px,4.6vw,68px);line-height:1.05;letter-spacing:-.025em;
    color:var(--ink);max-width:none;margin:0 auto 44px;
    white-space:nowrap;
    text-wrap:nowrap;
  }
  @media(max-width:760px){
    .closing blockquote{white-space:normal;font-size:clamp(28px,7vw,46px);max-width:18ch}
  }
  .closing blockquote .accent{color:var(--orange)}
  .closing .btn-ghost-light{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(21,17,15,.25);background:transparent}
  .closing .btn-ghost-light .arr{background:var(--ink);color:#fff}
  .closing .btn-ghost-light:hover{background:var(--ink);color:#fff}
  .closing .btn-ghost-light:hover .arr{background:#fff;color:var(--ink)}

  /* ============================================================
     FOOTER
     ============================================================ */
  footer{
    background:#fff;color:var(--ink);
    padding:clamp(56px,7vw,96px) 0 28px;
    border-top:1px solid var(--rule);
  }
  .footer-grid{
    display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;
    gap:clamp(24px,4vw,64px);
  }
  @media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.footer-grid{grid-template-columns:1fr}}
  .footer-brand{max-width:38ch}
  .footer-brand .logo-row{
    display:flex;align-items:center;gap:14px;margin-bottom:18px;
  }
  .footer-brand .footer-logo{
    height:54px;width:auto;display:block;
  }
  .footer-brand p{color:var(--ink-3);font-size:14px;line-height:1.6}

  .footer-col h4{
    font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.18em;
    text-transform:uppercase;color:var(--ink-3);margin-bottom:18px;
  }
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  .footer-col a{font-size:15px;color:var(--ink);transition:color .2s var(--t)}
  .footer-col a:hover{color:var(--purple)}

  .footer-cta h4{
    font-family:var(--sans);font-weight:600;font-size:18px;
    color:var(--ink);margin-bottom:14px;letter-spacing:-.01em;
    text-transform:none;
  }
  .footer-cta p{color:var(--ink-3);font-size:14px;line-height:1.55;margin-bottom:18px}
  .footer-cta .btn{padding:12px 18px;font-size:14px}
  .footer-cta .btn-primary,
  .footer-cta .btn-primary:hover,
  .footer-cta .btn-primary:visited{color:#fff !important}

  .footer-bottom{
    margin-top:64px;padding-top:22px;border-top:1px solid var(--rule);
    display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;
    font-size:13px;color:var(--ink-3);
  }
  .footer-bottom a{color:var(--ink-3);transition:color .2s var(--t)}
  .footer-bottom a:hover{color:var(--ink)}

  /* ============================================================
     REVEAL
     ============================================================ */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--t), transform .9s var(--t)}
  .reveal.in{opacity:1;transform:none}


/* page-shell additions */
.page-hero{
  padding: clamp(56px, 8vw, 120px) 0 clamp(40px, 5vw, 80px);
  position: relative; background: #fff; overflow: hidden;
}
.page-hero::before{
  content:""; position:absolute; width:520px; height:520px; border-radius:50%;
  left:-180px; top:-160px;
  background:radial-gradient(circle, rgba(125,32,130,.08), rgba(125,32,130,0) 70%);
  pointer-events:none;
}
.page-hero::after{
  content:""; position:absolute; width:420px; height:420px; border-radius:50%;
  right:-140px; bottom:-100px;
  background:radial-gradient(circle, rgba(0,111,185,.08), rgba(0,111,185,0) 70%);
  pointer-events:none;
}
.page-hero .wrap{position:relative}
.page-hero h1{
  font-size:clamp(34px,4.4vw,68px);
  margin:24px 0 24px;
  max-width:18ch;
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.04;
}
.page-hero h1 em{font-family:var(--sans);font-style:normal;font-weight:300;color:var(--ink-2)}
.page-hero .lede{
  font-size:clamp(17px,1.2vw,21px);
  line-height:1.55;color:var(--ink-2);
  max-width:58ch;margin-bottom:16px;
}
.page-hero .lede strong{color:var(--ink);font-weight:500}

/* page-hero with figure */
.page-hero.has-figure{
  padding-bottom:0;
  padding-top:clamp(40px,5vw,72px);
  overflow:clip;
  overflow-clip-margin:120px;
}
.page-hero.has-figure .wrap{max-width:none; padding:0}
.page-hero-grid{
  display:grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(24px,3vw,56px);
  align-items:stretch;
}
.page-hero-grid > .page-hero-text{
  padding: clamp(24px,3vw,48px) clamp(24px,4vw,80px) clamp(40px,5vw,80px);
  align-self:center;
}
.page-hero-grid > .page-hero-text h1{
  font-size:clamp(34px,4.4vw,68px);
}
@media(max-width:960px){
  .page-hero-grid{grid-template-columns:1fr; gap:0}
  .page-hero-grid > .page-hero-text{padding: clamp(24px,5vw,40px)}
}
.page-hero-figure{
  position:relative;align-self:stretch;
  min-height:clamp(480px, 70vh, 780px);
  overflow:visible;
  background:var(--paper-2);
}
.page-hero-figure img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.92) contrast(1.02);
  position:relative;
}
.page-hero-figure .badge{
  position:absolute;left:20px;top:20px;
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);
  z-index:3;
}
.page-hero-figure .badge i{
  width:7px;height:7px;border-radius:50%;background:var(--green);
  animation:pulse 2.4s var(--t) infinite;
}
.page-hero-figure .tag{
  position:absolute;left:20px;bottom:20px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  padding:10px 14px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  z-index:3;
}
.page-hero-figure .dot-deco{
  position:absolute;border-radius:50%;z-index:2;pointer-events:none;
  opacity:.7;
}
.page-hero-figure .dot-deco.a{width:140px;height:140px;right:40px;bottom:-70px;background:var(--green);z-index:4}
.page-hero-figure .dot-deco.b{width:56px;height:56px;right:30px;top:90px;background:var(--orange)}
.page-hero-figure .dot-deco.c{width:32px;height:32px;left:32px;top:32px;background:var(--blue)}

/* a quieter mid-page photo strip used on interior pages */
.page-strip{
  width:100%; aspect-ratio: 21/8;
  position:relative; overflow:hidden; background: var(--paper-2);
}
.page-strip img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.02);transition:transform 1.4s var(--t);
}
.page-strip:hover img{transform:scale(1)}
.page-strip .overlay{
  position:absolute;inset:auto 0 0 0;padding:20px 28px;
  background:linear-gradient(to top, rgba(21,17,15,.55), transparent);
  color:#fff;display:flex;justify-content:space-between;align-items:end;gap:16px;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}
.page-strip .overlay em{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size: clamp(20px,2.2vw,32px); letter-spacing:-.01em;
  text-transform:none; color:#fff;
}

/* image block w/ caption used in kwaliteit etc. */
.image-card{
  position:relative; overflow:hidden;
  background:var(--paper-2);
  aspect-ratio: 4/5;
}
.image-card img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.02);transition:transform 1.4s var(--t);
}
.image-card:hover img{transform:scale(1)}
.image-card .tag{
  position:absolute;left:18px;bottom:18px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  padding:10px 14px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  z-index:3;
}
.image-card .deco{
  position:absolute;border-radius:50%;z-index:2;pointer-events:none;
}

/* contact map replaced w/ image bg */
.map-strip.has-image{background:#15110f}
.map-strip.has-image img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.6;
  filter:saturate(.6) contrast(1.05);
}
.map-strip.has-image::before{
  background:
    linear-gradient(180deg, rgba(21,17,15,.35), rgba(21,17,15,.55)),
    radial-gradient(circle at 40% 50%, rgba(235,93,11,.20), transparent 40%);
}

/* nav active state */
nav.top ul a.is-active{color:var(--ink)}
nav.top ul a.is-active:not(.contact-btn)::after{
  right:0;
}

/* Voor wie cards */
.audience-grid{
  display:grid; grid-template-columns: repeat(2, 1fr);
  gap:0;
  border-top:1px solid var(--rule);
  margin-top:clamp(48px,7vw,96px);
}
@media(max-width:760px){.audience-grid{grid-template-columns:1fr}}
.audience{
  display:grid; grid-template-columns: 72px 1fr;
  gap:24px;
  padding: 40px 32px 40px 0;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.audience:nth-child(odd){border-right:1px solid var(--rule); padding-right:40px}
.audience:nth-child(even){padding-left:40px}
@media(max-width:760px){
  .audience:nth-child(odd){border-right:0; padding-right:0}
  .audience:nth-child(even){padding-left:0}
}
.audience .num{
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center; font-family:var(--sans); font-weight:600;
  font-size:16px; color:#fff; background:var(--ink);
}
.audience[data-c="o"] .num{background:var(--orange)}
.audience[data-c="g"] .num{background:var(--green)}
.audience[data-c="b"] .num{background:var(--blue)}
.audience[data-c="p"] .num{background:var(--purple)}
.audience[data-c="ink"] .num{background:var(--ink)}
.audience h3{
  font-family:var(--sans); font-weight:600; font-size:24px; letter-spacing:-.015em;
  margin-bottom:12px; color:var(--ink);
}
.audience p{color:var(--ink-2); font-size:15.5px; line-height:1.65; max-width:46ch; margin-bottom:10px}
.audience p:last-child{margin-bottom:0}

/* Big quote band */
.band-quote{
  background:#15110f; color:#f5f1ea;
  padding: clamp(64px,8vw,120px) 0;
  position:relative; overflow:hidden;
}
.band-quote::before{
  content:""; position:absolute; width:420px; height:420px; border-radius:50%;
  left:-140px; top:-140px;
  background: radial-gradient(circle, rgba(235,93,11,.20), transparent 70%);
}
.band-quote::after{
  content:""; position:absolute; width:380px; height:380px; border-radius:50%;
  right:-120px; bottom:-100px;
  background: radial-gradient(circle, rgba(101,179,46,.18), transparent 70%);
}
.band-quote .wrap{position:relative}
.band-quote p{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(28px,3.6vw,52px);
  line-height:1.25; letter-spacing:-.01em;
  max-width:22ch;
}
.band-quote p .accent{color:var(--orange)}
.band-quote .who{
  margin-top:32px; color:rgba(245,241,234,.6);
  font-size:13px; letter-spacing:.18em; text-transform:uppercase;
}

/* Service detail rows (aanbod page) */
.service-row{
  display:grid; grid-template-columns: 90px 1.2fr 1fr;
  gap:clamp(24px,4vw,72px);
  padding: clamp(40px,5vw,72px) 0;
  border-top:1px solid var(--rule);
  align-items:start;
}
.service-row:last-child{border-bottom:1px solid var(--rule)}
@media(max-width:760px){.service-row{grid-template-columns:1fr;gap:20px}}
.service-row .index{
  font-family:var(--serif); font-weight:300; font-style:italic;
  font-size:clamp(56px, 7vw, 96px); line-height:1; letter-spacing:-.03em;
  color:var(--ink-3);
}
.service-row[data-c="o"] .index{color:var(--orange)}
.service-row[data-c="g"] .index{color:var(--green)}
.service-row[data-c="b"] .index{color:var(--blue)}
.service-row[data-c="p"] .index{color:var(--purple)}
.service-row[data-c="ink"] .index{color:var(--ink)}
.service-row h2{
  font-size:clamp(28px, 3.2vw, 44px); font-weight:600; letter-spacing:-.02em;
  margin-bottom: 16px; max-width: 18ch;
}
.service-row .body{
  color:var(--ink-2); font-size:16px; line-height:1.65; max-width:54ch;
}
.service-row .body p + p{margin-top:12px}
.service-row .meta{
  border-left: 1px solid var(--rule);
  padding-left: clamp(20px, 3vw, 32px);
  color:var(--ink-3); font-size:14px; line-height:1.6;
}
@media(max-width:760px){.service-row .meta{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:20px}}
.service-row .meta h4{
  font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:14px;
}
.service-row .meta ul{list-style:none; padding:0; display:flex; flex-direction:column; gap:8px}
.service-row .meta ul li{position:relative; padding-left:18px; color:var(--ink-2)}
.service-row .meta ul li::before{
  content:""; position:absolute; left:0; top:.7em;
  width:8px; height:1px; background:var(--ink-3);
}

/* CTA strip (small) */
.cta-strip{
  background: var(--cream);
  padding: clamp(48px,6vw,80px) 0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.cta-strip .wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; flex-wrap:wrap;
}
.cta-strip h3{
  font-family:var(--sans); font-weight:600; font-size:clamp(24px,2.6vw,34px);
  letter-spacing:-.015em; max-width:30ch;
}
.cta-strip h3 em{font-family:var(--sans); font-style:normal; font-weight:300; color:var(--ink-3)}
.cta-strip .phone{
  font-family:var(--serif); font-weight:300; font-size:28px;
  color:var(--ink); letter-spacing:-.01em;
}

/* Kwaliteit page */
.label-card{
  display:grid; grid-template-columns: 1.1fr 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
  padding: clamp(48px, 6vw, 80px) clamp(32px, 5vw, 64px);
  background: var(--cream);
  margin-top: clamp(40px, 5vw, 64px);
}
@media(max-width:880px){.label-card{grid-template-columns:1fr}}
.label-card h2{
  font-size: clamp(34px, 4vw, 56px);
  margin-bottom: 20px; max-width: 16ch; letter-spacing:-.02em;
}
.label-card p{color:var(--ink-2); font-size:16.5px; line-height:1.65; max-width:50ch; margin-bottom: 14px}
.label-stars{
  display:flex; gap:18px; align-items:center; justify-content:center; flex-direction:column;
}
.label-stars .stars{display:flex; gap:6px}
.label-stars .stars svg{width:42px;height:42px;display:block}
.label-stars .badge-circle{
  width: clamp(220px, 28vw, 340px); height: clamp(220px, 28vw, 340px);
  border-radius: 50%; background: #fff; box-shadow: 0 30px 60px -30px rgba(0,0,0,.18);
  display: grid; place-items: center; position:relative;
  border: 1px solid var(--rule);
}
.label-stars .badge-circle::before{
  content:""; position:absolute; inset:14px; border-radius:50%;
  border: 1px dashed var(--rule);
}
.label-stars .label-name{
  font-family: var(--serif); font-style:italic; font-weight:300;
  font-size: 44px; line-height:1; color: var(--ink);
}
.label-stars .label-tag{
  font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-3); margin-top:8px;
}

.check-grid{
  display:grid; grid-template-columns: repeat(2, 1fr);
  gap: 0;
  border-top: 1px solid var(--rule);
  margin-top: clamp(56px, 7vw, 96px);
}
@media(max-width:760px){.check-grid{grid-template-columns:1fr}}
.check-item{
  display:grid; grid-template-columns: 40px 1fr;
  gap: 18px; align-items:start;
  padding: 28px 32px 28px 0;
  border-bottom:1px solid var(--rule);
}
.check-item:nth-child(odd){border-right:1px solid var(--rule); padding-right:40px}
.check-item:nth-child(even){padding-left:40px}
@media(max-width:760px){
  .check-item:nth-child(odd){border-right:0;padding-right:0}
  .check-item:nth-child(even){padding-left:0}
}
.check-item .dot{
  width:30px; height:30px; border-radius:50%; background: var(--green);
  display:grid; place-items:center; color:#fff; font-size:14px; font-weight:600; margin-top:2px;
}
.check-item:nth-child(2) .dot{background:var(--orange)}
.check-item:nth-child(3) .dot{background:var(--blue)}
.check-item:nth-child(4) .dot{background:var(--purple)}
.check-item:nth-child(5) .dot{background:var(--orange)}
.check-item:nth-child(6) .dot{background:var(--green)}
.check-item p{font-size:16px; line-height:1.55; color:var(--ink); max-width:38ch}
.check-item p strong{display:block; font-weight:600; margin-bottom:2px}

.two-col{
  display:grid; grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 80px);
  padding-top: clamp(64px,9vw,128px);
  padding-bottom: clamp(64px,9vw,128px);
}
@media(max-width:760px){.two-col{grid-template-columns:1fr}}
.two-col h2{font-size: clamp(30px, 3.4vw, 44px); margin-bottom: 20px; max-width: 16ch; font-weight:600; letter-spacing:-.02em}
.two-col h2 em{color:var(--ink-3)}
.two-col p{color:var(--ink-2); font-size:16px; line-height:1.65; max-width:46ch; margin-bottom:14px}
.two-col ul{list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; margin-top: 18px}
.two-col ul li{position:relative; padding-left:22px; color:var(--ink-2); font-size:15.5px; line-height:1.55}
.two-col ul li::before{
  content:""; position:absolute; left:0; top:.65em;
  width: 12px; height:1px; background: var(--orange);
}

/* Partners list */
.partners-list{
  margin-top: clamp(48px, 6vw, 96px);
  border-top: 1px solid var(--rule);
  display:grid;
  grid-template-columns: 1fr 1.4fr minmax(220px, auto);
}
.partner{
  display:grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(32px, 4vw, 56px) 0;
  border-bottom:1px solid var(--rule);
  align-items: start;
}
@media(max-width:760px){
  .partners-list{grid-template-columns:1fr}
  .partner{grid-template-columns:1fr;gap:16px}
}
.partner .name{
  font-family:var(--sans); font-weight:600; font-size:clamp(24px,3vw,40px);
  letter-spacing:-.02em;
  line-height:1.05;
  position:relative;
  padding-left:28px;
}
.partner .name .badge{
  position:absolute;
  left:0;
  top:.42em;
  width:14px; height:14px; border-radius:50%;
  background: var(--ink);
  margin-right:0;
}
.partner[data-c="o"] .name .badge{background:var(--orange)}
.partner[data-c="g"] .name .badge{background:var(--green)}
.partner[data-c="b"] .name .badge{background:var(--blue)}
.partner[data-c="p"] .name .badge{background:var(--purple)}
.partner .desc{color:var(--ink-2); font-size:16px; line-height:1.65; max-width:48ch}
.partner .link{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:500; color:var(--ink); white-space:nowrap;
  border-bottom: 1px solid var(--rule); padding-bottom: 4px;
  transition: gap .25s var(--t), border-color .25s var(--t), color .25s var(--t);
  align-self: end;
}
.partner .link:hover{gap:14px; color: var(--purple); border-color: var(--purple)}

/* Contact page */
.contact-grid{
  display:grid; grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 5vw, 96px);
  padding-top: clamp(64px,9vw,128px);
  padding-bottom: clamp(64px,9vw,128px);
}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}
.contact-info{display:flex; flex-direction:column; gap: 32px}
.contact-info .row{
  border-top: 1px solid var(--rule); padding-top: 24px;
}
.contact-info .row:last-child{border-bottom: 1px solid var(--rule); padding-bottom: 24px}
.contact-info h3{
  font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:14px;
}
.contact-info .big{
  font-family:var(--serif); font-weight:300; font-size:clamp(28px,3vw,40px);
  letter-spacing:-.01em; color:var(--ink); line-height:1.15;
}
.contact-info .big a{color:inherit; transition: color .2s var(--t)}
.contact-info .big a:hover{color:var(--purple)}
.contact-info address{
  font-style:normal; color:var(--ink-2); font-size:17px; line-height:1.55;
}

.contact-form{
  background: var(--cream);
  padding: clamp(32px, 4vw, 56px);
  border: 1px solid var(--rule);
}
.contact-form h2{font-size:clamp(28px,3vw,40px); margin-bottom:8px; font-weight:600; letter-spacing:-.02em}
.contact-form h2 em{color:var(--ink-3)}
.contact-form .sub{color:var(--ink-3); font-size:14.5px; margin-bottom:28px}
.contact-form .field{display:flex; flex-direction:column; gap:6px; margin-bottom: 18px}
.contact-form label{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color: var(--ink-3); font-weight:500;
}
.contact-form input,
.contact-form textarea,
.contact-form select{
  font: inherit; font-size:15.5px;
  border:0; border-bottom: 1px solid var(--rule);
  background: transparent; padding: 10px 0;
  color: var(--ink);
  outline: none;
  transition: border-color .25s var(--t);
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{border-color: var(--ink)}
.contact-form textarea{min-height: 120px; resize: vertical}
.contact-form .radios{display:flex; flex-wrap:wrap; gap:10px; margin-top: 8px}
.contact-form .radios label{
  font-family: var(--sans); font-weight:500; text-transform:none; letter-spacing:0;
  font-size: 14px; padding: 9px 14px; border-radius:999px;
  border: 1px solid var(--rule); background:#fff; color: var(--ink-2);
  cursor:pointer; transition: all .2s var(--t);
  display:inline-flex; align-items:center; gap:8px;
}
.contact-form .radios label:hover{border-color: var(--ink-3)}
.contact-form .radios input{position:absolute; opacity:0; pointer-events:none}
.contact-form .radios input:checked + span{}
.contact-form .radios label:has(input:checked){
  background: var(--ink); color:#fff; border-color: var(--ink);
}
.contact-form .submit-row{margin-top: 16px}
.contact-form .btn{width:auto}

.map-strip{
  width:100%; aspect-ratio: 21/6;
  background: #15110f;
  position:relative; overflow:hidden;
  display:grid; place-items:center;
  color: #f5f1ea;
}
.map-strip::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 40% 50%, rgba(235,93,11,.25), transparent 35%),
    radial-gradient(circle at 60% 50%, rgba(0,111,185,.20), transparent 40%);
}
.map-strip .pin{
  position:relative; z-index:1; display:flex; align-items:center; gap:14px;
  font-family: var(--serif); font-weight:300; font-style:italic; font-size:clamp(22px,2.4vw,32px);
}
.map-strip .pin .dot{
  width:14px;height:14px;border-radius:50%;background:var(--orange);
  box-shadow: 0 0 0 0 rgba(235,93,11,.6);
  animation: pulse 2.4s var(--t) infinite;
}

/* ============================================================
   SIBW Scan — Elementor Form styling
   Target: the form inside #sibw-form-section
   ============================================================ */

#sibw-form-section {
  background: transparent !important;
}

#sibw-form-section .elementor-container,
#sibw-form-section .elementor-column-wrap,
#sibw-form-section .elementor-widget-wrap {
  background: transparent !important;
}

/* ---- Dark card: wraps heading + subtext + form together ----
   In Elementor: place Heading, Text Editor and Form widgets
   inside an Inner Section / Container, then give that inner
   container the CSS ID: sibw-card                             */
#sibw-card {
  background: #15110f;
  border-radius: 20px;
  padding: 40px !important;
  max-width: 560px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

#sibw-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background:
    radial-gradient(400px 200px at 100% 0%, rgba(235,93,11,.18), transparent 50%),
    radial-gradient(400px 250px at 0% 100%, rgba(125,32,130,.15), transparent 50%);
  pointer-events: none;
  z-index: 0;
}

#sibw-card > * { position: relative; z-index: 1; }

/* Heading widget inside #sibw-card */
#sibw-card .elementor-heading-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(22px, 2.6vw, 28px) !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
}

/* Labels */
#sibw-form-section .elementor-field-label {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 6px;
}

/* Inputs */
#sibw-form-section .elementor-field-type-text input,
#sibw-form-section .elementor-field-type-email input,
#sibw-form-section .elementor-field-type-tel input {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  padding: 14px 18px !important;
  transition: border-color 0.25s ease !important;
}

#sibw-form-section .elementor-field-type-text input:focus,
#sibw-form-section .elementor-field-type-email input:focus,
#sibw-form-section .elementor-field-type-tel input:focus {
  border-color: rgba(255,255,255,0.4) !important;
  outline: none !important;
  box-shadow: none !important;
}

#sibw-card .elementor-field-type-text input::placeholder,
#sibw-card .elementor-field-type-email input::placeholder,
#sibw-card .elementor-field-type-tel input::placeholder {
  color: rgba(255,255,255,0.8) !important;
}

/* Submit button */
#sibw-form-section .elementor-button {
  background: #ffffff !important;
  color: #15110f !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  padding: 14px 28px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  cursor: pointer !important;
}

#sibw-form-section .elementor-button:hover {
  background: #eb5d0b !important;
  color: #ffffff !important;
}

/* Success message */
#sibw-form-section .elementor-message.elementor-message-success {
  background: rgba(101,179,46,0.15);
  border: 1px solid rgba(101,179,46,0.35);
  border-radius: 12px;
  color: #a8e07a;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  padding: 16px 20px;
}

/* Error message */
#sibw-form-section .elementor-message.elementor-message-danger {
  background: rgba(179,46,46,0.12);
  border: 1px solid rgba(179,46,46,0.3);
  border-radius: 12px;
  color: #e07a7a;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  padding: 16px 20px;
}

/* Privacy note below the button — add via Form widget's "Additional Options → Custom Messages" */
#sibw-form-section .elementor-form-fields-wrapper {
  position: relative;
  z-index: 1;
}/* End custom CSS */