/* ============================================================
   EFFECTIEF — HOMEPAGE (sep 2026)
   Aanvulling op style.css + hero-v3.css
   ============================================================ */

/* ── 1. Eerste scherm ── */
.hv3-panel .hv3-word{font-size:clamp(1.9rem,3.3vw,2.9rem)}

/* ── 2. Herken je dit ── */
.hm-slotregel{margin:0;padding-top:44px;border-top:1px solid rgba(255,255,255,.2);font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.4;color:rgba(255,255,255,.8);max-width:none;width:100%}
.fund-grid+.hm-slotregel{margin-top:56px}
.hm-slotregel b{color:#fff;font-weight:700}

/* ── 4. Cases ── */
.hm-cases-intro{color:var(--muted);font-size:1.1rem;margin:-14px 0 34px}

/* ── 5. Zo werken we ── */
.hm-werk{padding:130px 0;background:#fff}
.hm-werk-kop{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:64px}
.hm-werk-kop h2{color:var(--dark);margin:0}
.hm-werk-kop p{color:var(--muted);font-size:1.15rem;line-height:1.65;margin:0;max-width:560px}
.hm-stappen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:none}
.hm-stap{position:relative;border-top:3px solid var(--dark);padding:28px 4px 0 0}
.hm-stap .n{display:block;font-size:2.4rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--dark);margin-bottom:22px}
.hm-stap h3{font-size:1.2rem;color:var(--dark);margin:0 0 10px}
.hm-stap p{color:var(--muted);font-size:1rem;line-height:1.6;margin:0}
.hm-stap.uit{border-top-color:var(--terra)}
.hm-stap.uit .n{color:var(--terra)}
.hm-werk-cta{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.hm-fijn{margin:0;color:var(--muted);font-size:.92rem}

/* ── 6. Wie we zijn ── */
.hm-wie{padding:0 0 130px;background:#fff}
.hm-wie-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,6vw,96px);align-items:center;
  background:var(--grey);border-radius:28px 28px 28px clamp(70px,7vw,120px);padding:clamp(40px,5vw,72px)}
.hm-wie-foto{margin:0;position:relative;width:clamp(170px,17vw,210px)}
.hm-wie-foto::after{content:"";position:absolute;top:0;right:0;width:34px;height:34px;background:var(--terra);clip-path:polygon(0 0,100% 0,100% 100%);border-top-right-radius:18px}
.hm-wie-foto img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:18px}
.hm-wie-foto figcaption{margin-top:14px;font-weight:600;font-size:.95rem;color:var(--dark);line-height:1.5}
.hm-wie-foto figcaption a{display:block;font-weight:500;color:var(--terra-d)}
.hm-wie-foto figcaption a:hover{color:var(--dark)}
.hm-wie-txt .klein{font-size:1rem;margin-bottom:24px}
.hm-wie-txt h2{color:var(--dark);margin:0 0 16px}
.hm-wie-txt>p{color:var(--muted);font-size:1.1rem;line-height:1.65;max-width:640px;margin:0 0 26px}
.hm-wie-pt{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
.hm-wie-pt li{position:relative;padding-left:26px;color:var(--muted);font-size:1.02rem;line-height:1.55}
.hm-wie-pt li::before{content:"";position:absolute;left:0;top:.45em;width:11px;height:11px;background:var(--terra);
  clip-path:polygon(0 0,100% 0,100% 100%)}
.hm-wie-pt b{color:var(--dark)}
.hm-link{display:inline-flex;gap:8px;font-weight:700;color:var(--dark)}
.hm-link span{transition:transform .2s}
.hm-link:hover span{transform:translateX(4px)}

/* ── 7. Afsluiter ── */
.hm-slot{position:relative;background:var(--dark);color:#fff;padding:110px 0;overflow:hidden}
.hm-slot::after{content:"";position:absolute;top:0;right:0;width:56px;height:56px;background:var(--terra);
  clip-path:polygon(0 0,100% 0,100% 100%)}
.hm-slot-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}
.hm-slot h2{color:#fff;margin:0 0 18px}
.hm-slot h2 b{color:var(--terra)}
.hm-slot p{color:rgba(255,255,255,.78);font-size:1.12rem;line-height:1.65;margin:0;max-width:620px}
.hm-slot-acts{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.hm-bel{color:rgba(255,255,255,.75);font-size:.98rem}
.hm-bel b{color:#fff;margin-left:4px}
.hm-bel:hover b{color:var(--terra)}

/* ── responsief ── */
@media (max-width:1100px){
  .hm-stappen{grid-template-columns:1fr 1fr;gap:40px 24px}
}
@media (max-width:960px){
  .hm-werk{padding:90px 0}
  .hm-werk-kop{grid-template-columns:1fr;gap:18px;margin-bottom:44px}
  .hm-slot-grid{grid-template-columns:1fr;gap:34px}
  .hm-slot{padding:80px 0}
  .hm-wie{padding-bottom:90px}
  .hm-wie-grid{grid-template-columns:1fr;text-align:left}
}
@media (max-width:700px){
  .hm-stappen{grid-template-columns:1fr}
  .hm-slotregel{margin-top:40px}
}
/* ── Praktijkvoorbeelden (compact, onder de drie diensten) ── */
.hm-vb-kop{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin:96px 0 32px}
.hm-vb-kop h3{font-size:clamp(1.5rem,2.3vw,1.95rem);font-weight:400;letter-spacing:-.02em;color:var(--dark);margin:0}
.hm-vb-kop h3 b{font-weight:700}
.hm-vb-kop p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6;max-width:520px}

/* slider: tabs links, één voorbeeld tegelijk rechts */
.hm-vs{display:grid;grid-template-columns:260px 1fr;background:var(--dark);border-radius:22px;overflow:hidden;position:relative}
.hm-vs::after{content:"";position:absolute;top:0;right:0;width:40px;height:40px;background:var(--terra);clip-path:polygon(0 0,100% 0,100% 100%)}
.hm-vs-tabs{display:flex;flex-direction:column;padding:18px;gap:2px;border-right:1px solid rgba(255,255,255,.1)}
.hm-vs-tabs button{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:0;border-radius:12px;
  padding:14px 16px;font:inherit;font-size:1rem;font-weight:600;color:rgba(255,255,255,.55);cursor:pointer;overflow:hidden;transition:color .2s,background .2s}
.hm-vs-tabs button .n{font-size:.75rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.35);transition:color .2s}
.hm-vs-tabs button:hover{color:#fff}
.hm-vs-tabs button[aria-selected=true]{background:rgba(255,255,255,.07);color:#fff}
.hm-vs-tabs button[aria-selected=true] .n{color:var(--terra)}
.hm-vs-tabs button i{position:absolute;left:16px;right:16px;bottom:6px;height:2px;background:var(--terra);transform:scaleX(0);transform-origin:left;opacity:0}
.hm-vs-tabs button[aria-selected=true] i{opacity:1}
.hm-vs.loopt .hm-vs-tabs button[aria-selected=true] i{animation:hmVsBalk var(--vs-tijd,7s) linear forwards}
@keyframes hmVsBalk{to{transform:scaleX(1)}}
.hm-vs-stage{position:relative;padding:clamp(32px,4vw,56px) clamp(28px,4.5vw,64px) 96px;min-height:360px}
.hm-vs-slide{display:grid;gap:28px}
.hm-vs-slide[hidden]{display:none}
.hm-vs-slide.in{animation:hmVsIn .45s ease both}
@keyframes hmVsIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hm-vs .lb{display:inline-block;margin-bottom:12px;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hm-vs .nu .lb{background:rgba(255,255,255,.14);color:#fff}
.hm-vs .nu p{margin:0;max-width:600px;font-size:1.12rem;line-height:1.55;color:rgba(255,255,255,.85)}
.hm-vs .met{padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.hm-vs .met .lb{background:var(--terra);color:#fff}
.hm-vs .met p{margin:0;max-width:640px;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.45;font-weight:600;letter-spacing:-.015em;color:#fff}
.hm-vs-nav{position:absolute;left:clamp(28px,4.5vw,64px);right:clamp(28px,4.5vw,64px);bottom:28px;display:flex;align-items:center;gap:10px}
.hm-vs-nav .tel{margin-right:auto;font-size:.85rem;color:rgba(255,255,255,.45);letter-spacing:.04em}
.hm-vs-nav .tel b{color:#fff}
.hm-vs-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;font-size:1.1rem;cursor:pointer;transition:background .2s,border-color .2s}
.hm-vs-nav button:hover{background:var(--terra);border-color:var(--terra)}
@media (max-width:900px){
  .hm-vs{grid-template-columns:1fr}
  .hm-vs-tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none;padding:14px 14px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.1);gap:4px}
  .hm-vs-tabs::-webkit-scrollbar{display:none}
  .hm-vs-tabs button{width:auto;flex:0 0 auto;padding:12px 14px 16px;border-radius:10px 10px 0 0;font-size:.95rem}
  .hm-vs-tabs button .n{display:none}
  .hm-vs-tabs button i{left:14px;right:14px;bottom:0}
  .hm-vs-stage{min-height:0;padding:28px 24px 92px}
}
@media (prefers-reduced-motion:reduce){.hm-vs-slide.in{animation:none}.hm-vs.loopt .hm-vs-tabs button[aria-selected=true] i{animation:none;transform:scaleX(1)}}
@media (max-width:700px){.hm-vb-kop{grid-template-columns:1fr;gap:12px;margin-top:64px}}
