/* BFZ — afsluiter 'Kom eerst kennismaken' (okt 2026), gedeeld door de subpagina's.
   Zelfde vormgeving als het slot van de homepage (css/bfz-home-onder.css): crème vlak, afgerond beeld,
   de drie stappen van de gratis kennismaking met haarlijnen, de knop, en de footer die er als kaart overheen schuift. */
body.v2 .kennis__eyebrow { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #6b6157; }
body.v2 .kennis .st__dot, body.v2 .kennis__dot { width: 6px; height: 6px; border-radius: 50%; background: #b9885e; flex: none; }
body.v2 .kennis__tweede {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0; border: 0;
  font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: #171411; text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 12px) / 100% 1px no-repeat;
}
@media (hover: hover) and (pointer: fine) { body.v2 .kennis__tweede:hover { color: #9a6c45; } }
body.v2 .kennis__tweede:focus-visible { outline: 2px solid #b49b78; outline-offset: 4px; }
/* ---------- SLOT: je eerste bezoek (okt 2026) — wat er gebeurt bij de gratis kennismaking, rustig op crème:
   links een afgerond beeld van begeleiding, rechts de uitnodiging, drie stappen met haarlijnen en de knop.
   Alles staat er zonder JS; met JS opent het beeld zich één keer en schuiven kop en stappen rustig binnen. ---------- */
body.v2 .kennis {
  --k-ink: #171411; --k-muted: #5a524a; --k-faint: #6b6157; --k-bronze: #9a6c45; --k-line: rgba(23, 20, 17, 0.16);
  --k-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative; padding: clamp(24px, 3vw, 48px) var(--gutter) calc(clamp(104px, 11vw, 176px) + 28px);
  background: #efeae3; color: var(--k-ink);
}
body.v2 .kennis__inner {
  max-width: var(--container); margin: 0 auto; padding-top: clamp(72px, 8vw, 128px); border-top: 1px solid var(--k-line);
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px); align-items: center;
}
body.v2 .kennis__beeld { grid-column: 1 / 6; position: relative; margin: 0; }
body.v2 .kennis__frame {
  position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 16px; background: #e2dcd3;
  clip-path: inset(0 round 16px); transition: clip-path 1.7s var(--k-ease);
}
body.v2 .kennis__frame img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 42%;
  border-radius: 0; filter: saturate(0.92) contrast(1.02); transform: scale(1); transition: transform 2.4s var(--k-ease);
}
body.v2 .kennis__frame::after {
  content: ''; position: absolute; inset: auto 0 0; height: 38%; pointer-events: none;
  background: linear-gradient(180deg, rgba(14, 12, 11, 0) 0%, rgba(14, 12, 11, 0.62) 100%);
}
body.v2 .kennis__label {
  position: absolute; left: clamp(18px, 1.8vw, 28px); right: clamp(18px, 1.8vw, 28px); bottom: clamp(18px, 1.8vw, 26px); z-index: 1;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0;
  font-size: 10.5px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #f4eee5;
}
body.v2 .kennis__label span { display: inline-flex; align-items: center; gap: 14px; }
body.v2 .kennis__label span + span::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #c99a6e; }
body.v2 .kennis__tekst { grid-column: 7 / -1; }
body.v2 .kennis__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 clamp(22px, 2.2vw, 32px); }
body.v2 .kennis h2#fc-title.kennis__kop {
  display: block; margin: 0; max-width: none; padding: 0;
  font-family: var(--font-display); font-stretch: var(--wide, 112%); font-weight: 700; font-style: normal;
  font-size: clamp(44px, 4.6vw, 84px); line-height: 0.92; letter-spacing: -0.012em; white-space: nowrap;
  text-transform: uppercase; text-align: left; color: var(--k-ink); -webkit-text-fill-color: currentColor; -webkit-hyphens: manual; hyphens: manual;
}
body.v2 .kennis h2#fc-title.kennis__kop::before, body.v2 .kennis h2#fc-title.kennis__kop::after { content: none; display: none; }
body.v2 .kennis h2#fc-title.kennis__kop em { font-style: normal; font-weight: 300; color: var(--k-ink); }
body.v2 .kennis__m { display: block; overflow: hidden; padding: 0.06em 0.08em 0.02em; margin: -0.06em -0.08em -0.02em; }
body.v2 .kennis__w { display: block; transition: transform 1.15s var(--k-ease); }
body.v2 .kennis__m + .kennis__m .kennis__w { transition-delay: 0.08s; }
body.v2 .kennis__intro { margin: clamp(24px, 2.4vw, 34px) 0 0; max-width: 34ch; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.5; font-weight: 300; color: var(--k-muted); }
body.v2 .kennis__stappen { list-style: none; margin: clamp(40px, 4vw, 64px) 0 0; padding: 0; counter-reset: none; }
body.v2 .kennis__stappen li {
  position: relative; display: grid; grid-template-columns: clamp(48px, 4.4vw, 68px) minmax(0, 1fr); column-gap: 8px; row-gap: 6px;
  padding: clamp(20px, 1.8vw, 26px) 0; margin: 0;
}
body.v2 .kennis__stappen li::before, body.v2 .kennis__stappen li:last-child::after {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--k-line);
  transform-origin: 0 50%; transition: transform 1.2s var(--k-ease);
}
body.v2 .kennis__stappen li:last-child::after { top: auto; bottom: 0; }
body.v2 .kennis__nr { grid-row: 1 / 3; padding-top: 0.5em; font-size: 11px; line-height: 1; letter-spacing: 0.12em; color: var(--k-bronze); font-variant-numeric: tabular-nums; }
body.v2 .kennis__titel { font-family: var(--font-display); font-size: clamp(18px, 1.45vw, 22px); line-height: 1.3; font-weight: 500; color: var(--k-ink); }
body.v2 .kennis__uitleg { font-size: 15px; line-height: 1.55; font-weight: 300; color: var(--k-muted); max-width: 46ch; }
body.v2 .kennis__actie { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: clamp(36px, 3.6vw, 56px); }
body.v2 .kennis__knop { margin: 0; }
body.v2 .kennis__noot { margin: 0; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--k-faint); }
/* binnenkomen, één keer (de klassen zet bfz-home-onder.js) */
body.v2 .kennis :is(.kennis__eyebrow, .kennis__intro, .kennis__stappen li, .kennis__actie, .kennis__label) { transition: opacity 1s var(--k-ease), transform 1s var(--k-ease); }
body.v2 .kennis.is-wacht .kennis__frame { clip-path: inset(9% 9% 9% 9% round 16px); }
body.v2 .kennis.is-wacht .kennis__frame img { transform: scale(1.16); }
body.v2 .kennis.is-wacht .kennis__w { transform: translateY(106%); }
body.v2 .kennis.is-wacht :is(.kennis__eyebrow, .kennis__intro, .kennis__stappen li, .kennis__actie, .kennis__label) { opacity: 0; transform: translateY(18px); }
body.v2 .kennis.is-wacht .kennis__stappen li::before, body.v2 .kennis.is-wacht .kennis__stappen li:last-child::after { transform: scaleX(0); }
body.v2 .kennis .kennis__intro { transition-delay: 0.2s; }
body.v2 .kennis .kennis__stappen li:nth-child(1), body.v2 .kennis .kennis__stappen li:nth-child(1)::before { transition-delay: 0.32s; }
body.v2 .kennis .kennis__stappen li:nth-child(2), body.v2 .kennis .kennis__stappen li:nth-child(2)::before { transition-delay: 0.44s; }
body.v2 .kennis .kennis__stappen li:nth-child(3), body.v2 .kennis .kennis__stappen li:nth-child(3)::before { transition-delay: 0.56s; }
body.v2 .kennis .kennis__stappen li:last-child::after { transition-delay: 0.68s; }
body.v2 .kennis .kennis__actie { transition-delay: 0.72s; }
body.v2 .kennis .kennis__label { transition-delay: 0.9s; }
/* de footer schuift als afgeronde kaart over het einde van het slot */
body.v2 .kennis ~ .footer { position: relative; z-index: 2; margin-top: -28px; border-radius: 28px 28px 0 0; border-top: 0; border-image: none; }
@media (max-width: 880px) {
  body.v2 .kennis { padding-bottom: calc(88px + 22px); }
  body.v2 .kennis__inner { grid-template-columns: minmax(0, 1fr); padding-top: 56px; }
  body.v2 .kennis__beeld, body.v2 .kennis__tekst { grid-column: 1 / -1; }
  body.v2 .kennis__frame { aspect-ratio: 4 / 5; border-radius: 12px; clip-path: inset(0 round 12px); }
  body.v2 .kennis.is-wacht .kennis__frame { clip-path: inset(7% 7% 7% 7% round 12px); }
  body.v2 .kennis__tekst { margin-top: 48px; }
  body.v2 .kennis h2#fc-title.kennis__kop { font-size: clamp(30px, 9.4vw, 58px); }
  body.v2 .kennis__stappen li { grid-template-columns: 44px minmax(0, 1fr); }
  body.v2 .kennis__actie { flex-direction: column; align-items: stretch; text-align: center; gap: 16px; }
  body.v2 .kennis__knop { width: 100%; justify-content: center; }
  body.v2 .kennis ~ .footer { border-radius: 22px 22px 0 0; margin-top: -22px; }
}
@media (prefers-reduced-motion: reduce) {
  body.v2 .kennis *, body.v2 .kennis *::before, body.v2 .kennis *::after { transition: none !important; }
}
/* de knop is op elke pagina dezelfde donkere knop op crème (subpagina's hebben een lichte standaardknop) */
body.v2 .kennis a.kennis__knop { background: #2c2823; border-color: #2c2823; color: #f4eee5; }
body.v2 .kennis a.kennis__knop .final-cta__arrow { color: #f4eee5; }
@media (hover: hover) and (pointer: fine) { body.v2 .kennis a.kennis__knop:hover { background: #433b32; border-color: #433b32; color: #f4eee5; } }

/* Google als bron bij reviews en de vertrouwensregel (zoals op de homepage): het Google-icoon en gele sterren */
body.v2 .g-icoon { display: inline-block; width: 1.15em; height: 1.15em; margin-right: 0.55em; vertical-align: -0.22em; flex: none; }
body.v2 .g-sterren { color: #f4b400; }
body.v2 .g-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 880px) { body.v2 .kennis__tweede { align-self: center; } }

/* subpagina's (zoals de homepage): de menubalk kleurt mee op crème, de stempel trekt zich terug na de opening.
   bfz-kennis.js zet body.verf-nav-licht en body.verf-sig-rust. Zonder :has-ondersteuning blijft de donkere balk. */
body.v2 .nav.is-scrolled { transition: padding 0.4s var(--ease-cinema), transform 0.45s var(--ease-cinema), background-color 0.6s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
body.v2 .nav .nav__logo img { transition: filter 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s ease; }
body.v2.verf-nav-licht .nav.is-scrolled:not(:has(.nav__hamburger.is-open)) {
  background-color: rgba(239, 234, 227, 0.84); border-bottom-color: rgba(23, 20, 17, 0.1);
  --action-ink: #24201c; --action-line: rgba(69, 57, 43, 0.42); --action-wash: rgba(69, 57, 43, 0.055);
  --action-solid: #2c2823; --action-solid-ink: #f4eee5; --action-solid-hover: #433b32; --fg: #171411;
}
body.v2.verf-nav-licht .nav.is-scrolled:not(:has(.nav__hamburger.is-open)) .nav__logo img { filter: brightness(0); opacity: 0.9; }
body.v2.verf-nav-licht .nav.is-scrolled:not(:has(.nav__hamburger.is-open)) .nav__hamburger-line { background-color: #171411; }
body.v2.verf-nav-licht .nav.is-scrolled:not(:has(.nav__hamburger.is-open)) .nav__hamburger::before { color: #171411; }
body.v2.bfz-actions.verf-nav-licht .nav.is-scrolled:not(:has(.nav__hamburger.is-open)) .nav__cta { color: var(--action-ink); border-color: var(--action-line); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.v2.verf-nav-licht .nav.is-scrolled:not(:has(.nav__hamburger.is-open)) { background-color: rgba(239, 234, 227, 0.97); }
}
body.v2 .sig-mark { transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
body.v2.verf-sig-rust .sig-mark { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { body.v2 .sig-mark, body.v2 .nav.is-scrolled, body.v2 .nav .nav__logo img { transition: none; } }

/* 'Voor ondernemers' als rustige regel i.p.v. een vak: label links, tekst rechts, haarlijn erboven */
body.v2 .ondernemers { --on-lijn: rgba(243, 238, 231, 0.14); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(32px, 6vw, 112px); padding-top: 22px; border-top: 1px solid var(--on-lijn); }
body.v2 .ondernemers__label { margin: 0; font-size: 10.5px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #b9885e; }
body.v2 .ondernemers__tekst { margin: 0; max-width: 62ch; font-size: 14px; line-height: 1.6; font-weight: 300; color: #d6d0c8; }
body.v2 .ondernemers__tekst a { color: #f3eee7; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px; }
body.v2 .ondernemers-rij { padding: clamp(40px, 5vw, 72px) var(--gutter); background: var(--bg-deep, #121010); }
body.v2 .ondernemers-rij .ondernemers { max-width: var(--container); margin: 0 auto; }
body.v2 .traject .ondernemers { margin-top: clamp(44px, 5vw, 72px); }
@media (max-width: 880px) { body.v2 .ondernemers { grid-template-columns: minmax(0, 1fr); row-gap: 10px; } }

/* hero-knoppen staan links onder de links uitgelijnde kop (niet gecentreerd met een gat ertussen) */
@media (min-width: 881px) { body.v2 .page-hero__actions { justify-content: flex-start; } body.v2 .page-hero__actions > * { margin-left: 0; margin-right: 0; } }

/* Word lid & contact (okt 2026): geen kaarten met rand meer. 'Direct lid worden' is een rustige regel zoals
   'Voor ondernemers'; de kaarten krijgen een afgerond kader zonder rand, met lucht eronder. */
body.v2 .form-direct {
  display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 10px; margin-top: 36px; padding: 22px 0 0;
  border: 0; border-top: 1px solid rgba(243, 238, 231, 0.14); border-radius: 0; background: transparent;
}
body.v2 .form-direct__label { margin: 0; font-size: 10.5px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #b9885e; }
body.v2 .form-direct__text { margin: 0; font-size: 14px; line-height: 1.6; font-weight: 300; color: #d6d0c8; }
body.v2 .form-direct__link { justify-self: start; }
body.v2 :is(.visit__map, .map-section__map) { border: 0; border-radius: 16px; overflow: hidden; }
body.v2 :is(.visit__map, .map-section__map) iframe { border: 0; display: block; }
body.v2 .map-section { padding-bottom: clamp(72px, 9vw, 140px); }
@media (max-width: 880px) { body.v2 :is(.visit__map, .map-section__map) { border-radius: 12px; } }

/* fotokaders overal 16px (12px op gsm), zonder rand of zware schaduw; nummers recht en klein in brons */
body.v2 :is(.club-live__frame, .coach__visual, .cinema-photo__video, .invite__img) { border-radius: 16px; border: 0; box-shadow: none; overflow: hidden; }
body.v2 :is(.club-live__frame, .coach__visual) :is(img, video) { border-radius: 0; }
body.v2 .club-live__video { border-radius: 0; border: 0; box-shadow: none; }
body.v2 :is(.exp-row__num, .value__num, .coach__num, .phase__num) { font-style: normal; font-family: var(--font-label, var(--font-display)); font-size: 11px; font-weight: 500; letter-spacing: 0.12em; color: #b9885e; }
body.v2 .coach__role { font-style: normal; }
@media (max-width: 880px) { body.v2 :is(.club-live__frame, .coach__visual, .cinema-photo__video, .invite__img) { border-radius: 12px; } }

/* koppen breken niet midden in een woord af op mobiel; lange titels krijgen de volle breedte */
@media (max-width: 880px) {
  body.v2 :is(h1, h2, h3, [class*="__heading"], [class*="__title"]) { -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; }
  body.v2.v2 .page-hero__title.page-hero__title--lang { max-width: none; }
}
