/* Labelgenoten – huisstijl */
@font-face{font-family:"Jost";font-weight:300;font-display:swap;src:url("../fonts/jost-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-display:swap;src:url("../fonts/jost-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-display:swap;src:url("../fonts/jost-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-weight:600;font-display:swap;src:url("../fonts/jost-latin-600-normal.woff2") format("woff2")}

:root{
  --deep:#0b3f41; --teal:#047376; --teal-dark:#035e61; --green:#449474; --lime:#77bb65;
  --ink:#1d1d1b; --muted:#56605c; --tint:#eef5ef; --line:#d6e2db; --white:#ffffff;
  --on-deep:#d9e8e2; --on-deep-muted:#b9d4c8; --deep-line:#2c6466; --on-teal:#e3f0ec;
  --error:#b3261e; --font:"Jost","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--teal)}
a:hover{color:var(--teal-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:60;background:var(--white);padding:10px 14px}

.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.sec{padding-block:88px}
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.24em;color:var(--teal);text-transform:uppercase}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
h2{font-size:clamp(28px,4.2vw,38px);line-height:1.2;color:var(--deep)}
h3{font-size:19px;font-weight:500;color:var(--deep)}
p{margin:0}
.muted{color:var(--muted)}
.lead{font-size:17px}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;flex-wrap:wrap;gap:24px}
.btn{display:inline-block;padding:14px 24px;border-radius:4px;font:600 16px/1.2 var(--font);text-decoration:none;text-align:center;border:0;cursor:pointer}
.wordmark{font-weight:400;letter-spacing:.16em;color:var(--deep)}
.wordmark span{font-weight:300;color:var(--teal)}

/* header */
.site-header{border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(11,63,65,.06)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-block:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:17px}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:15px}
.site-nav a{text-decoration:none}
.site-nav .btn{background:var(--teal);color:var(--white);padding:11px 18px;font-weight:500}
.site-nav .btn:hover{background:var(--teal-dark)}

/* hero */
.hero{background:var(--deep);color:var(--white)}
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-block:96px}
.hero .text{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero .eyebrow{color:var(--lime)}
.hero h1{font-size:clamp(36px,6vw,54px);line-height:1.1}
.hero p{font-size:19px;color:var(--on-deep);max-width:620px}
.hero .mark{flex:1 1 240px;display:flex;justify-content:center}
.hero .mark svg{width:min(300px,70vw);height:auto}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-lime:hover{background:#89c878;color:var(--ink)}
.btn-ghost{border:1px solid var(--lime);color:var(--white);font-weight:500}
.btn-ghost:hover{background:rgba(119,187,101,.12);color:var(--white)}

/* kernpunten */
.points{background:var(--tint)}
.points .wrap{display:flex;flex-wrap:wrap;gap:20px 32px;justify-content:space-between;padding-block:28px}
.point{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:500;color:var(--deep)}
.point svg{flex:none}

/* kaarten */
.card{flex:1 1 240px;border:1px solid var(--line);border-radius:8px;padding:26px;display:flex;flex-direction:column;gap:10px}
.card p{color:var(--muted)}

/* waarom */
.why{background:var(--tint)}
.why .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.why .text{flex:1 1 400px;min-width:0}
.facts{flex:1 1 320px;background:var(--white);border-radius:8px;padding:32px;display:flex;flex-direction:column}
.fact{padding-block:18px;border-bottom:1px solid var(--line)}
.fact:first-child{padding-top:0}
.fact:last-child{border-bottom:0;padding-bottom:0}
.fact b{display:block;font-size:30px;font-weight:500;color:var(--teal);line-height:1.2}
.fact span{font-size:15px;color:var(--muted)}

/* tarieven */
.prices .wrap{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.prices .text{flex:1 1 300px}
.table-box{flex:1 1 400px;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums}
th{text-align:left;font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--muted);padding:15px 22px;border-bottom:1px solid var(--line)}
td{padding:12px 22px;border-bottom:1px solid var(--tint)}
th:last-child,td:last-child{text-align:right}
tbody tr:last-child td{border-bottom:0;font-weight:500;color:var(--teal)}

/* begeleidingstraject */
.extra{background:var(--deep);color:var(--white)}
.extra .wrap{display:flex;flex-direction:column;gap:40px}
.extra .top{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;justify-content:space-between}
.extra .text{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:14px}
.extra .eyebrow{color:var(--lime)}
.extra h2{color:var(--white);font-size:clamp(30px,4.6vw,42px)}
.extra .intro{font-size:18px;color:var(--on-deep);max-width:660px}
.payback{display:flex;gap:12px;font-size:18px;font-weight:500;max-width:660px}
.payback::before{content:"";flex:none;width:4px;background:var(--lime)}
.extra .cta{flex:1 1 240px;display:flex;flex-direction:column;gap:8px;text-align:center}
.extra .cta small{font-size:14px;color:var(--on-deep-muted)}
.extra .card{border-color:var(--deep-line)}
.extra .card h3{color:var(--white);font-size:20px}
.extra .card p{color:var(--on-deep)}
.num{font-size:28px;font-weight:500;color:var(--lime);font-variant-numeric:tabular-nums}

/* stappen */
.steps{background:var(--tint)}
.step{flex:1 1 210px;display:flex;flex-direction:column;gap:8px}
.step .num{color:var(--green)}

/* contact */
.contact{background:var(--teal);color:var(--white)}
.contact .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.contact .text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:16px}
.contact h2{color:var(--white);font-size:clamp(30px,4.6vw,40px)}
.contact .text p{font-size:18px;color:var(--on-teal)}
.contact-lines{display:flex;flex-direction:column;gap:6px;margin-top:8px;font-size:18px}
.contact-lines a{color:var(--white);font-weight:500;text-decoration:none}
.contact-lines a:hover{text-decoration:underline;color:var(--white)}

/* formulier */
.form-card{flex:1 1 440px;min-width:0;background:var(--white);color:var(--ink);border-radius:8px;padding:32px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1 / -1}
.field label{font-size:15px;font-weight:500;color:var(--deep)}
.field label .req{color:var(--muted);font-weight:400}
.field input,.field textarea{font:400 16px/1.4 var(--font);color:var(--ink);background:var(--white);border:1px solid #b7c7be;border-radius:4px;padding:12px 14px;width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--teal)}
.field input[aria-invalid="true"]{border-color:var(--error)}
.field .err{font-size:14px;color:var(--error);min-height:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}
.form-foot small{font-size:14px;color:var(--muted);flex:1 1 220px}
.btn-send{background:var(--teal);color:var(--white)}
.btn-send:hover{background:var(--teal-dark)}
.btn-send[disabled]{opacity:.6;cursor:wait}
.cf-turnstile{margin-top:18px}
.form-status{margin-top:18px;padding:14px 16px;border-radius:4px;font-size:15px}
.form-status.ok{background:var(--tint);color:var(--deep)}
.form-status.bad{background:#fbeaea;color:var(--error)}

/* footer */
.site-footer{background:var(--deep);color:var(--on-deep-muted);font-size:14px}
.site-footer .wrap{display:flex;flex-direction:column;gap:18px;padding-block:40px}
.foot-top{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-links a{color:var(--on-deep);text-decoration:none}
.foot-links a:hover{color:var(--white);text-decoration:underline}
.foot-legal{border-top:1px solid var(--deep-line);padding-top:18px;display:flex;flex-wrap:wrap;gap:6px 24px}

/* tekstpagina's */
.page{padding-block:72px}
.page .wrap{max-width:760px;display:flex;flex-direction:column;gap:18px}
.page h1{font-size:clamp(32px,5vw,44px);color:var(--deep);line-height:1.15}
.page h2{font-size:24px;margin-top:16px}
.page p,.page li{font-size:17px;color:var(--ink)}
.page ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.page p.muted{color:var(--muted);font-size:15px}

@media (max-width:640px){
  .sec{padding-block:60px}
  .hero .wrap{padding-block:56px;gap:28px}
  .hero .mark{order:-1;justify-content:flex-start}
  .hero .mark svg{width:120px}
  .site-nav a:not(.btn){display:none}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .form-card{padding:22px}
}
.page ul.art{list-style:none;padding-left:0}
