/* verzekeringsadviseur-werkwijze: port van React Bits Pro features-5 (Tailwind naar gescopete CSS) met
   cursor-wave als achtergrond en text-cube in de subsectie Voorwaarden. */
.msm-verzekeringsadviseur-werkwijze {
  position: relative;
  background: var(--m-bg, #eef1ec);
  color: var(--m-ink, #142927);
  font-family: var(--m-font-body, "Instrument Sans", "Segoe UI", system-ui, sans-serif);
  scroll-margin-top: 112px;
  box-sizing: border-box;
}
.msm-verzekeringsadviseur-werkwijze *,
.msm-verzekeringsadviseur-werkwijze *::before,
.msm-verzekeringsadviseur-werkwijze *::after { box-sizing: border-box; }
.msm-verzekeringsadviseur-werkwijze [hidden] { display: none !important; }
.msm-verzekeringsadviseur-werkwijze .vw-wrap {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

/* cursor-wave (originele component-CSS); de inhoud ligt erboven en blijft klikbaar. */
.msm-verzekeringsadviseur-werkwijze .vw-wave {
  position: relative;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.msm-verzekeringsadviseur-werkwijze .cursor-wave-root {
  position: relative;
  overflow: hidden;
}
.msm-verzekeringsadviseur-werkwijze .cursor-wave-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.msm-verzekeringsadviseur-werkwijze .cursor-wave-content {
  pointer-events: none;
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
}
.msm-verzekeringsadviseur-werkwijze .cursor-wave-content .vw-features { pointer-events: auto; }

/* features-5: py 48/64/80/96, px 16/24/32, max-w 1400. */
.msm-verzekeringsadviseur-werkwijze .vw-features {
  position: relative;
  padding: 48px 16px;
}
.msm-verzekeringsadviseur-werkwijze .vw-head {
  width: fit-content;
  max-width: 48rem;
  margin-bottom: 48px;
}
.msm-verzekeringsadviseur-werkwijze .vw-title {
  margin: 0 0 24px;
  max-width: 48rem;
  font-family: var(--m-font-display, "Source Serif 4", Georgia, serif);
  font-size: 30px;
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: var(--m-ink, #142927);
}
.msm-verzekeringsadviseur-werkwijze .vw-sub {
  margin: 0 0 32px;
  font-size: 16px;
  letter-spacing: -0.015em;
  line-height: 1.5;
  color: var(--m-muted, #566463);
}
.msm-verzekeringsadviseur-werkwijze .vw-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.msm-verzekeringsadviseur-werkwijze .vw-btn {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  padding: 8px 24px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.msm-verzekeringsadviseur-werkwijze .vw-btn--solid {
  background: var(--m-ink, #142927);
  color: var(--m-surface, #f8faf6);
}
.msm-verzekeringsadviseur-werkwijze .vw-btn--solid:hover { background: var(--m-accent2, #183f3d); }
.msm-verzekeringsadviseur-werkwijze .vw-btn--line {
  background: var(--m-surface, #f8faf6);
  color: var(--m-ink, #142927);
  border-color: var(--m-line, #d3dad4);
}
.msm-verzekeringsadviseur-werkwijze .vw-btn--line:hover { background: color-mix(in srgb, var(--m-bg, #eef1ec) 60%, var(--m-surface, #f8faf6)); }
.msm-verzekeringsadviseur-werkwijze .vw-btn:focus-visible,
.msm-verzekeringsadviseur-werkwijze .vw-term-btn:focus-visible {
  outline: 2px solid var(--m-primary, #d96b41);
  outline-offset: 2px;
}

/* Zes kaarten in één omrande container met binnenranden: 1, 2 vanaf md, 3 vanaf lg. */
.msm-verzekeringsadviseur-werkwijze .vw-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--m-line, #d3dad4);
  border-radius: 16px;
  overflow: hidden;
}
/* Binnenranden zoals in de bron: elke kaart draagt zijn eigen rand rechts en onder. */
.msm-verzekeringsadviseur-werkwijze .vw-card {
  padding: 32px;
  background: var(--m-surface, #f8faf6);
  border: 0 solid var(--m-line, #d3dad4);
}
.msm-verzekeringsadviseur-werkwijze .vw-card:not(:last-child) { border-bottom-width: 1px; }
.msm-verzekeringsadviseur-werkwijze .vw-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 32px;
}
.msm-verzekeringsadviseur-werkwijze .vw-icon svg {
  display: block;
  width: 80px;
  height: 80px;
  color: var(--m-ink, #142927);
}
.msm-verzekeringsadviseur-werkwijze .vw-card-title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.3;
}
.msm-verzekeringsadviseur-werkwijze .vw-card-text {
  margin: 0;
  font-size: 14px;
  letter-spacing: -0.01em;
  line-height: 1.5;
  color: var(--m-muted, #566463);
}

/* Subsectie Voorwaarden op --m-surface. */
.msm-verzekeringsadviseur-werkwijze .vw-terms {
  padding: 56px 16px 64px;
  background: var(--m-surface, #f8faf6);
  border-top: 1px solid var(--m-line, #d3dad4);
  scroll-margin-top: 112px;
}
.msm-verzekeringsadviseur-werkwijze .vw-terms-head { max-width: 40rem; margin-bottom: 32px; }
.msm-verzekeringsadviseur-werkwijze .vw-terms-title {
  margin: 0 0 12px;
  font-family: var(--m-font-display, "Source Serif 4", Georgia, serif);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.12;
}
.msm-verzekeringsadviseur-werkwijze .vw-terms-intro {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--m-muted, #566463);
}
.msm-verzekeringsadviseur-werkwijze .vw-terms-grid {
  display: grid;
  gap: 32px;
  align-items: start;
}
.msm-verzekeringsadviseur-werkwijze .vw-cube {
  position: relative;
  width: 100%;
  height: 320px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--m-bg, #eef1ec) 45%, var(--m-surface, #f8faf6));
  border: 1px solid var(--m-line, #d3dad4);
  overflow: hidden;
}
/* text-cube (originele component-CSS). */
.msm-verzekeringsadviseur-werkwijze .text-cube-container {
  position: relative;
  overflow: hidden;
}
.msm-verzekeringsadviseur-werkwijze .text-cube-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.msm-verzekeringsadviseur-werkwijze .text-cube-content {
  position: relative;
  z-index: 10;
  pointer-events: none;
}
.msm-verzekeringsadviseur-werkwijze .vw-term-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}
.msm-verzekeringsadviseur-werkwijze .vw-term-btn {
  min-height: 40px;
  padding: 8px 16px;
  border: 1px solid var(--m-line, #d3dad4);
  border-radius: 999px;
  background: var(--m-surface, #f8faf6);
  color: var(--m-ink, #142927);
  font: 500 14px/1.3 var(--m-font-body, "Instrument Sans", "Segoe UI", system-ui, sans-serif);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.msm-verzekeringsadviseur-werkwijze .vw-term-btn:hover { border-color: color-mix(in srgb, var(--m-ink, #142927) 35%, transparent); }
.msm-verzekeringsadviseur-werkwijze .vw-term-btn[aria-pressed="true"] {
  background: var(--m-accent2, #183f3d);
  border-color: var(--m-accent2, #183f3d);
  color: var(--m-surface, #f8faf6);
}
.msm-verzekeringsadviseur-werkwijze .vw-term-texts { display: grid; gap: 32px; }
.msm-verzekeringsadviseur-werkwijze .vw-term-texts.is-live { gap: 0; }
.msm-verzekeringsadviseur-werkwijze .vw-term-texts.is-live > .vw-term {
  grid-area: 1 / 1;
  transition: opacity 0.35s ease, visibility 0s linear 0.35s;
}
.msm-verzekeringsadviseur-werkwijze .vw-term-texts.is-live > .vw-term:not(.is-on) { opacity: 0; visibility: hidden; }
.msm-verzekeringsadviseur-werkwijze .vw-term-texts.is-live > .vw-term.is-on { opacity: 1; visibility: visible; transition: opacity 0.35s ease 0.1s, visibility 0s; }
.msm-verzekeringsadviseur-werkwijze .vw-term-name {
  margin: 0 0 16px;
  font-family: var(--m-font-display, "Source Serif 4", Georgia, serif);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.15;
}
.msm-verzekeringsadviseur-werkwijze .vw-sample {
  margin: 0 0 20px;
  padding: 20px 22px;
  border: 1px dashed color-mix(in srgb, var(--m-ink, #142927) 28%, transparent);
  border-radius: 12px;
  background: var(--m-bg, #eef1ec);
}
.msm-verzekeringsadviseur-werkwijze .vw-sample-label {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--m-primary, #d96b41);
  color: color-mix(in srgb, var(--m-primary, #d96b41) 70%, var(--m-ink, #142927));
}
.msm-verzekeringsadviseur-werkwijze .vw-sample-text { margin: 0; }
.msm-verzekeringsadviseur-werkwijze .vw-sample-text p {
  margin: 0;
  font-family: var(--m-font-display, "Source Serif 4", Georgia, serif);
  font-size: 16px;
  line-height: 1.6;
  color: color-mix(in srgb, var(--m-ink, #142927) 82%, transparent);
}
.msm-verzekeringsadviseur-werkwijze .vw-plain {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.msm-verzekeringsadviseur-werkwijze .vw-plain strong { font-weight: 600; }
.msm-verzekeringsadviseur-werkwijze .vw-terms-note {
  margin: 40px 0 0;
  max-width: 44rem;
  font-size: 14px;
  line-height: 1.55;
  color: var(--m-muted, #566463);
}
.msm-verzekeringsadviseur-werkwijze .msm-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
/* cipher-reveal (originele component-CSS). */
.msm-verzekeringsadviseur-werkwijze .cipher-reveal {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

@media (min-width: 640px) {
  .msm-verzekeringsadviseur-werkwijze .vw-features { padding: 64px 24px; }
  .msm-verzekeringsadviseur-werkwijze .vw-title { font-size: 36px; }
  .msm-verzekeringsadviseur-werkwijze .vw-sub { font-size: 18px; }
  .msm-verzekeringsadviseur-werkwijze .vw-actions { flex-direction: row; gap: 16px; }
  .msm-verzekeringsadviseur-werkwijze .vw-btn { width: auto; padding: 10px 32px; font-size: 16px; }
  .msm-verzekeringsadviseur-werkwijze .vw-icon svg { width: 96px; height: 96px; }
  .msm-verzekeringsadviseur-werkwijze .vw-card-title { font-size: 20px; }
  .msm-verzekeringsadviseur-werkwijze .vw-card-text { font-size: 16px; }
  .msm-verzekeringsadviseur-werkwijze .vw-terms { padding-inline: 24px; }
  .msm-verzekeringsadviseur-werkwijze .vw-cube { height: 380px; }
}
@media (min-width: 768px) {
  .msm-verzekeringsadviseur-werkwijze .vw-features { padding-block: 80px; }
  .msm-verzekeringsadviseur-werkwijze .vw-title { font-size: 48px; }
  .msm-verzekeringsadviseur-werkwijze .vw-head { margin-bottom: 64px; }
  .msm-verzekeringsadviseur-werkwijze .vw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .msm-verzekeringsadviseur-werkwijze .vw-card { padding: 40px; }
  .msm-verzekeringsadviseur-werkwijze .vw-card:nth-child(odd) { border-right-width: 1px; }
  .msm-verzekeringsadviseur-werkwijze .vw-card:nth-last-child(-n + 2) { border-bottom-width: 0; }
  .msm-verzekeringsadviseur-werkwijze .vw-terms { padding-block: 72px 80px; }
  .msm-verzekeringsadviseur-werkwijze .vw-terms-title { font-size: 34px; }
}
@media (min-width: 1024px) {
  .msm-verzekeringsadviseur-werkwijze .vw-features { padding: 96px 32px; }
  .msm-verzekeringsadviseur-werkwijze .vw-title { font-size: 60px; }
  .msm-verzekeringsadviseur-werkwijze .vw-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .msm-verzekeringsadviseur-werkwijze .vw-card { border-right-width: 1px; border-bottom-width: 1px; }
  .msm-verzekeringsadviseur-werkwijze .vw-card:nth-child(3n) { border-right-width: 0; }
  .msm-verzekeringsadviseur-werkwijze .vw-card:nth-last-child(-n + 3) { border-bottom-width: 0; }
  .msm-verzekeringsadviseur-werkwijze .vw-terms { padding-inline: 32px; }
  .msm-verzekeringsadviseur-werkwijze .vw-terms-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 56px; }
  .msm-verzekeringsadviseur-werkwijze .vw-cube { height: 420px; }
}
@media (prefers-reduced-motion: reduce) {
  .msm-verzekeringsadviseur-werkwijze .vw-term-texts.is-live > .vw-term,
  .msm-verzekeringsadviseur-werkwijze .vw-term-texts.is-live > .vw-term.is-on { transition: none; }
  .msm-verzekeringsadviseur-werkwijze .vw-btn,
  .msm-verzekeringsadviseur-werkwijze .vw-term-btn { transition: none; }
}
