/* Gedeelde secties: intro met foto en badge, formulier met contactpersoon, CTA-band, reviews.
   Gebruikt door diensten, Over ons en Contact. Bron: _dev/design. */
/* ---------- Intro met foto + badge ---------- */
.d-intro{display:flex;gap:72px;align-items:center;flex-wrap:wrap}
.d-intro-txt{flex:1 1 480px;min-width:0}
.d-intro-media{flex:1 1 440px;min-width:0;position:relative}
.d-intro-img{border-radius:var(--idm-radius);overflow:hidden;aspect-ratio:4/3;background:#E6EBF1}
.d-intro-img img{width:100%;height:116%;object-fit:cover;display:block;margin-top:-8%}
.badge{position:absolute;left:-24px;bottom:-28px;background:var(--idm-white);border-radius:22px;padding:22px 24px;box-shadow:0 24px 50px -28px rgba(12,39,76,.5);display:flex;gap:16px;align-items:center;max-width:300px}
.badge>img{display:block;width:72px;height:26px}
.badge-score{font-size:40px;font-weight:600;letter-spacing:-.03em;color:var(--idm-navy)}
.badge .ic{width:48px;height:48px;border-radius:14px}
.badge-t{font-size:15px;line-height:1.4;color:var(--idm-navy)}

/* ---------- Formulier ---------- */
.d-form{display:flex;gap:64px;flex-wrap:wrap;align-items:flex-start;scroll-margin-top:90px}
.d-form-txt{flex:1 1 420px;min-width:0}
.d-person{margin-top:32px;display:flex;gap:16px;align-items:center}
.d-person img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.d-person-n{font-size:18px;font-weight:500;color:var(--idm-navy)}
.d-person-f{font-size:15px;color:var(--idm-muted)}
.form-card{flex:1 1 460px;min-width:0;background:var(--idm-white);border-radius:var(--idm-radius);padding:36px}
.form-card--soft{background:var(--idm-soft)}
.wb-form{box-shadow:0 30px 70px -30px rgba(0,0,0,.5)}

/* ---------- CTA-band ---------- */
.d-cta-sec{padding-top:0}
.cta-band{position:relative;border-radius:var(--idm-radius);overflow:hidden;background:var(--idm-red);color:var(--idm-white);padding:64px 56px;display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta-band>div:first-child{max-width:640px}
.cta-band h2{margin:0;font-size:clamp(30px,3.2vw,46px);line-height:1.1;letter-spacing:-.02em;font-weight:500}
.cta-band p{margin:14px 0 0;font-size:18px;line-height:1.6;color:#F8DADC}
.cta-band .ph-cta{margin:0}

/* ---------- Reviews ---------- */
.rv-band{display:flex;gap:56px;align-items:center;flex-wrap:wrap}
.d-rev-score{flex:1 1 280px}
.rv-big{font-size:clamp(96px,11vw,160px);font-weight:600;letter-spacing:-.05em;line-height:.85;color:var(--idm-navy)}
.d-rev-score p{margin:18px 0 0;font-size:21px;line-height:1.4;color:var(--idm-navy);font-weight:500;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.d-rev-score p img{width:66px;height:24px}
.d-rev-link{display:inline-flex;gap:6px;align-items:center;margin-top:18px;font-weight:500;text-decoration:none}
.d-rev-mq{flex:999 1 560px;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.rv-track{display:flex;gap:16px;width:max-content;padding-right:16px;animation:d-mq 46s linear infinite}
.d-rev-mq:hover .rv-track{animation-play-state:paused}
@keyframes d-mq{to{transform:translateX(-50%)}}
.rv-track figure{flex:0 0 340px;margin:0;background:var(--idm-white);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px}
.d-rev-stars{display:flex;gap:3px;color:var(--idm-red)}
.rv-track blockquote{margin:0;font-size:17px;line-height:1.55;color:var(--idm-ink)}
.rv-track figcaption{font-size:14px;color:var(--idm-muted)}
@media (prefers-reduced-motion:reduce){.rv-track{animation:none}}


@media (max-width:900px){
  .form-card{padding:24px 20px}
  .wb-form{padding:22px 18px}
  .badge{left:12px;bottom:-24px}
  .rv-band{gap:28px}
  .rv-big{font-size:96px}
  .cta-band{padding:36px 24px}
}

/* Gedeelde hulpklassen */
.d-soft{background:var(--idm-soft)}
.p-white{background:var(--idm-white)}
.d-btn-lg{padding:18px 28px 18px 32px;font-size:17px}
.d-mt28{margin-top:28px}
.btn--ghost,.btn--ghost:hover{background:transparent;color:var(--idm-navy);box-shadow:inset 0 0 0 1px #CBD5E1}
.rv-band--white .rv-track figure{background:var(--idm-soft)}
