/* BFZ home — onderste helft (okt 2026). Eén taal met 'Ons aanbod' en de hero:
   donkere vlakken, kapitalen in BFZ Grotesk (700 + 300), het 10px-label, de bronzen lijn van 220 px,
   het beeldvak met teller, de namenlijst op 55 % die oplicht. Geen crème eilanden meer, geen nieuwe letter. */

body.v2 { --onder-pad: clamp(88px, 10vw, 148px); --onder-line: rgba(255, 255, 255, 0.1); --onder-muted: #bfb8b0; --onder-faint: #8f877e; --onder-bronze: #b9885e; --onder-ease: cubic-bezier(0.22, 1, 0.36, 1); --onder-inout: cubic-bezier(0.77, 0, 0.175, 1); }

/* ---------- gedeelde koptaal (zoals 'ONS AANBOD.') ---------- */
body.v2 :is(.rs__heading, .regio__heading, .club-visit__heading, .testimonials__heading, .coaches__heading, .faq__heading, .partners__heading) {
  display: flex; align-items: center; gap: 28px; max-width: none; margin: 0;
  font-family: var(--font-display); font-size: clamp(25px, 3vw, 44px); line-height: 0.94; font-weight: 700;
  letter-spacing: normal; text-transform: uppercase; color: #fff; text-align: left;
}
body.v2 :is(.rs__heading, .regio__heading, .club-visit__heading, .testimonials__heading, .coaches__heading, .faq__heading, .partners__heading) em {
  font-style: normal; font-weight: 300; color: #fff; -webkit-text-fill-color: currentColor;
}
body.v2 :is(.rs__heading, .regio__heading, .club-visit__heading, .testimonials__heading, .coaches__heading, .faq__heading, .partners__heading)::before { display: none; }
body.v2 :is(.rs__heading, .regio__heading, .club-visit__heading, .testimonials__heading, .coaches__heading, .faq__heading, .partners__heading)::after {
  content: ''; display: block; flex: 0 1 220px; width: auto; min-width: 40px; max-width: 220px; height: 1px;
  background: var(--onder-bronze); opacity: 0.45; transform-origin: left center;
  transition: transform 1s var(--ease-cinema) 0.2s;
}
body.v2 :is(.rs__heading, .regio__heading, .club-visit__heading, .testimonials__heading, .coaches__heading, .faq__heading, .partners__heading) .kop-tekst {
  display: block; max-width: 22ch; text-align: left; flex: 0 0 auto; -webkit-text-fill-color: currentColor; animation: none;
}
body.v2.js-motion :is(.rs__heading, .regio__heading, .club-visit__heading):not(.is-in)::after { transform: scaleX(0); }
body.v2 :is(.rs__heading, .club-visit__heading) .kop-tekst { max-width: none; white-space: nowrap; }
body.v2 .regio__heading .kop-tekst { max-width: 11.5em; }
body.v2 .offer-eyebrow { color: #b5aba0; }

/* ---------- 1. RESULTATEN: het podium (gespiegeld 'Ons aanbod') ---------- */
body.v2 .rs { position: relative; padding: var(--onder-pad) var(--gutter); background: var(--bg); color: #fff; scroll-margin-top: 84px; }
.rs__inner { max-width: var(--container); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); grid-template-areas: "stage intro" "stage list" "stage note"; gap: 28px clamp(32px, 5vw, 88px); align-items: center; }
.rs__intro { grid-area: intro; align-self: end; }
.rs__list { grid-area: list; align-self: start; border-bottom: 1px solid var(--onder-line); }
.rs__note { grid-area: note; align-self: start; }

.rs__stage { grid-area: stage; position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #1a1714; isolation: isolate; }
.rs__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.9s var(--onder-ease); }
.rs__slide.is-active { opacity: 1; z-index: 1; }
body.v2 .rs__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; border-radius: 0; }
body.v2 .rs__img--voor { filter: grayscale(1) contrast(1.06) brightness(0.86); }
body.v2 .rs__img--na { clip-path: inset(0 0 0 0); transition: clip-path 1.15s var(--onder-inout); }
.rs__slide.is-voor .rs__img--na { clip-path: inset(0 100% 0 0); }
.rs__slide .rs__img { transform: scale(1.045); transition: clip-path 1.15s var(--onder-inout), transform 2.4s var(--onder-ease); }
.rs__slide.is-active .rs__img { transform: scale(1); }
/* Jonas' voorfoto: bovenaan uitsnijden, zodat de emoji-balk onderaan buiten beeld valt */
.rs__slide[data-rs-slide="2"] .rs__img--voor { object-position: 50% 0; transform-origin: 50% 0; transform: scale(1.26); }
.rs__slide[data-rs-slide="2"].is-active .rs__img--voor { transform: scale(1.22); }
/* de bronzen lijn rijdt mee op de rand van de sluiter */
.rs__wipe { position: absolute; inset: 0; z-index: 2; pointer-events: none; transform: translateX(0); transition: transform 1.15s var(--onder-inout), opacity 0.3s ease 0.9s; opacity: 0; }
.rs__wipe::after { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 1px; background: var(--onder-bronze); box-shadow: 0 0 18px 1px rgba(185, 136, 94, 0.55); }
.rs__stage.is-voor .rs__wipe { transform: translateX(-100%); opacity: 1; transition: none; }
.rs__stage:not(.is-voor) .rs__wipe { opacity: 0; }
.rs__stage.is-instant :is(.rs__img, .rs__wipe, .rs__slide) { transition: none !important; }
.rs__stage::after { content: ''; position: absolute; inset: 52% 0 0; z-index: 2; background: linear-gradient(transparent, rgba(15, 12, 10, 0.78)); pointer-events: none; }
.rs__stage::before { content: ''; position: absolute; inset: 0 0 72%; z-index: 2; background: linear-gradient(rgba(15, 12, 10, 0.45), transparent); pointer-events: none; }
.rs__top { position: absolute; top: 20px; left: 24px; right: 24px; z-index: 3; display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; text-shadow: 0 1px 5px #171411; }
.rs__switch { display: flex; align-items: center; gap: 2px; }
.rs__switch button { min-height: 32px; padding: 0 10px; margin: 0; border: 0; background: none; color: rgba(255, 255, 255, 0.55); font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; position: relative; transition: color 0.25s ease; }
.rs__switch button:first-child { padding-left: 0; }
.rs__switch button + button::before { content: ''; position: absolute; left: -2px; top: 50%; width: 1px; height: 10px; margin-top: -5px; background: rgba(255, 255, 255, 0.35); }
.rs__switch button[aria-pressed="true"] { color: #fff; }
.rs__switch button[aria-pressed="true"]::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 4px; height: 1px; background: var(--onder-bronze); }
.rs__switch button:first-child[aria-pressed="true"]::after { left: 0; }
.rs__count { font-variant-numeric: tabular-nums; }
body.v2 .rs__bottom { position: absolute; left: 26px; right: 26px; bottom: 26px; z-index: 3; display: flex; justify-content: space-between; align-items: end; gap: 20px; color: #fff; text-decoration: none; }
.rs__label { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.rs__bottom .offer-gallery__arrow { flex: none; }

/* namen als in 'Ons aanbod' */
.rs__row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name kg" "meta meta"; align-items: baseline; column-gap: 24px; padding: 16px 0 18px; border-top: 1px solid var(--onder-line); }
body.v2 .rs__name { grid-area: name; margin: 0; -webkit-hyphens: manual; hyphens: manual; font-size: clamp(23px, 2.8vw, 42px); line-height: 1.16; font-weight: 700; text-transform: uppercase; }
.rs__name button { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: left; cursor: pointer; opacity: 0.55; transition: opacity 0.45s var(--ease-cinema); }
.rs__kg { grid-area: kg; margin: 0; font-family: var(--font-display); font-weight: 300; font-size: clamp(23px, 2.8vw, 42px); line-height: 1.16; letter-spacing: -0.02em; white-space: nowrap; font-variant-numeric: tabular-nums; opacity: 0.55; transition: opacity 0.45s var(--ease-cinema); }
.rs__kg small { margin: 0 0 0 6px; font: 400 10px/1 var(--font-label); letter-spacing: 0.1em; text-transform: uppercase; color: var(--onder-muted); vertical-align: 0.5em; }
.rs__en { margin: 0 10px; color: var(--onder-faint); font-weight: 300; }
.rs__kg:has(.rs__en) { font-size: clamp(19px, 2vw, 30px); }
.rs__kg:has(.rs__en) small { font-size: 9px; margin-left: 4px; }
.rs__meta { grid-area: meta; margin: 6px 0 0; font-size: 13px; line-height: 1.6; color: var(--onder-muted); max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.5s var(--ease-cinema), opacity 0.4s ease, margin 0.5s var(--ease-cinema); }
.rs__meta span { margin-left: 10px; padding-left: 12px; border-left: 1px solid var(--onder-line); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--onder-faint); }
.rs__row.is-selected .rs__name button, .rs__row.is-selected .rs__kg { opacity: 1; }
.rs__row.is-selected .rs__meta { max-height: 3.4em; opacity: 1; }
.rs__progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; overflow: hidden; }
.rs__progress i { position: absolute; inset: 0; background: var(--onder-bronze); transform: scaleX(0); transform-origin: left center; }
.rs__row:not(.is-selected) .rs__progress i { transform: scaleX(0) !important; }
@media (hover: hover) and (pointer: fine) {
  .rs__row:hover .rs__name button, .rs__row:hover .rs__kg { opacity: 1; }
  .rs__bottom:hover .offer-gallery__arrow { transform: translate(2px, -2px); }
  .rs__switch button:hover { color: #fff; }
}
.rs :is(button, a):focus-visible { outline: 2px solid #b49b78; outline-offset: 4px; }
.rs__note { border-top: 0; padding-top: 6px; }

/* ---------- 2. PARTNERS: rustige band ---------- */
body.v2 .partners { background: var(--bg); padding: clamp(64px, 7vw, 104px) 0; border-top: 1px solid var(--onder-line); }
body.v2 .partners .aurora { display: none; }
body.v2 .partners__intro { max-width: var(--container); margin: 0 auto 44px; padding: 0; text-align: left; }
body.v2 .partners__marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
body.v2 .partners__marquee img { opacity: 0.42; filter: grayscale(1) brightness(1.5); transition: opacity 0.3s ease; }
@media (hover: hover) and (pointer: fine) { body.v2 .partners__marquee img:hover { opacity: 0.85; } }

/* ---------- 3. REVIEWS: titel links, de stem rechts ---------- */
body.v2 .testimonials { background: #0e0c0b; color: #fff; padding: var(--onder-pad) var(--gutter); }
body.v2 .testimonials__inner { max-width: var(--container); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); grid-template-areas: "intro quotes" "links quotes"; gap: 32px clamp(40px, 6vw, 112px); align-items: start; }
body.v2 .testimonials__intro { grid-area: intro; margin: 0; text-align: left; }
body.v2 .testimonials .quotes { grid-area: quotes; display: block; margin: 0; max-width: none; }
body.v2 .testimonials__widget-note { grid-area: links; align-self: end; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin: 0; text-align: left; }
body.v2 .testimonials__widget-note a { display: inline-flex; min-height: 44px; align-items: center; color: #fff; text-decoration: none; font-size: 11px; letter-spacing: 0.035em; border-bottom: 1px solid #8b7e6f; }
body.v2 .quotes__stage { display: grid; min-height: 14em; }
body.v2 .quotes__item { grid-area: 1 / 1; margin: 0; opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(18px); pointer-events: none;
  transition: opacity 0.4s ease, clip-path 0s linear 0.4s, transform 0.4s ease; }
body.v2 .quotes__item.is-active { opacity: 1; clip-path: inset(0 0 -20% 0); transform: none; pointer-events: auto;
  transition: opacity 0.6s ease 0.35s, clip-path 1.2s var(--onder-inout) 0.35s, transform 1.2s var(--onder-ease) 0.35s; }
body.v2 .quotes__text { margin: 0; font-family: var(--font-display); font-weight: 300; font-style: normal; font-size: clamp(21px, 2.15vw, 33px); line-height: 1.38; letter-spacing: -0.01em; color: #f3eee7; text-wrap: pretty; }
body.v2 .quotes__author { margin-top: 28px; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #b5aba0; }
body.v2 .quotes__author .stars-inline { color: var(--onder-bronze); letter-spacing: 0.2em; }
body.v2 .quotes__nav { display: flex; align-items: center; gap: 20px; margin-top: 44px; padding-top: 26px; border-top: 1px solid var(--onder-line); }
body.v2 .quotes__btn { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 50%; background: transparent; color: #fff; font-size: 15px; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, transform 0.16s ease; }
body.v2 .quotes__btn:active { transform: scale(0.96); }
body.v2 .quotes__count { font-size: 11px; letter-spacing: 0.06em; font-variant-numeric: tabular-nums; color: #fff; }
body.v2 .quotes__bar { flex: 1; height: 1px; background: var(--onder-line); }
body.v2 .quotes__bar i { background: var(--onder-bronze); }
@media (hover: hover) and (pointer: fine) { body.v2 .quotes__btn:hover { background: #fff; color: #121010; } body.v2 .testimonials__widget-note a:hover { border-color: #fff; } }

/* ---------- 4. COACHES: één toon, kleur bij aandacht ---------- */
body.v2 .coaches { background: var(--bg); padding: var(--onder-pad) var(--gutter); }
body.v2 .coaches::before, body.v2 .coaches::after { display: none; }
body.v2 .coaches__intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px clamp(32px, 5vw, 88px); align-items: end; margin: 0 0 clamp(40px, 5vw, 64px); }
body.v2 .coaches__sub { margin: 0; max-width: 40ch; font-size: 14px; line-height: 1.7; color: var(--onder-muted); justify-self: end; }
body.v2 .coaches__grid { gap: clamp(14px, 1.6vw, 24px); }
body.v2 .coach { text-align: left; }
body.v2 .coach__visual { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 0; background: #1a1714; }
body.v2 .coach__visual img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; filter: grayscale(1) contrast(1.05) brightness(0.92); transform: scale(1.001); transition: filter 0.7s var(--onder-ease), transform 1.2s var(--onder-ease); }
body.v2 .coach__name { margin: 18px 0 0; font-size: clamp(17px, 1.5vw, 23px); font-weight: 700; letter-spacing: normal; text-transform: uppercase; text-align: left; }
body.v2 .coach__role { margin-top: 8px; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: #b5aba0; text-align: left; }
body.v2 .coaches__cta-wrap { text-align: left; margin-top: clamp(36px, 4vw, 56px); padding-top: 22px; border-top: 1px solid var(--onder-line); }
@media (hover: hover) and (pointer: fine) {
  body.v2 .coach:hover .coach__visual img { filter: grayscale(0) contrast(1) brightness(1); transform: scale(1.03); }
}

/* ---------- 5. BINNEN BIJ BFZ: donker, één beeld in focus ---------- */
body.v2 .club-visit { background: #0e0c0b; color: #fff; padding: var(--onder-pad) 0; }
body.v2 .club-visit .offer-eyebrow { color: #b5aba0; }
body.v2 .club-visit__head p:not(.offer-eyebrow) { color: var(--onder-muted); }
body.v2 .club-visit__photo { background: #1a1714; }
body.v2 .club-visit__strip > .club-visit__frame { opacity: 0.32; transition: opacity 1.1s var(--onder-inout); }
body.v2 .club-visit__strip > .club-visit__frame.is-current { opacity: 1; }
body.v2 .club-visit__strip.is-snap > .club-visit__frame { transition: none; }
body.v2 .club-visit__strip.is-snap > .club-visit__frame img { transition: none; }
body.v2 .club-visit__photo img { transform: scale(1); transition: transform 1.1s var(--onder-ease); }
body.v2 .club-visit__strip > .club-visit__frame.is-current.is-drift .club-visit__photo img { transform: scale(1.05); transition: transform 6.5s linear; }
body.v2 .club-visit__frame figcaption { color: var(--onder-muted); }
body.v2 .club-visit__frame figcaption span:first-child { color: var(--onder-faint); }
body.v2 .club-visit__line { position: relative; background: var(--onder-line); overflow: hidden; }
body.v2 .club-visit__line::after { content: ''; position: absolute; inset: 0; background: var(--onder-bronze); transform: scaleX(0); transform-origin: left center; }
body.v2 [data-visit-playing="true"] .club-visit__line.is-timing::after { animation: onder-visit var(--visit-hold, 3600ms) linear forwards; }
@keyframes onder-visit { to { transform: scaleX(1); } }
/* knoppen: het knopsysteem van de site, in zijn donkere variant */
body.v2.bfz-actions .club-visit { --action-ink: #eee9e1; --action-line: rgba(221, 210, 194, 0.48); --action-wash: rgba(238, 233, 225, 0.07); --action-solid: #e8e3db; --action-solid-ink: #24221f; --action-solid-hover: #f5f1eb; }
body.v2 .club-visit__invitation { border-top-color: var(--onder-line); }
body.v2 .club-visit__invitation p { color: var(--onder-muted); }

/* ---------- 6. VLOT BEREIKBAAR: de gemeenten als 'Ons aanbod' ---------- */
body.v2 .regio { background: var(--bg); padding: var(--onder-pad) var(--gutter); border-top: 1px solid var(--onder-line); }
body.v2 .regio__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px clamp(32px, 5vw, 88px); align-items: start; }
body.v2 .regio__label { margin: 0 0 20px; font-size: 10px; font-weight: 300; letter-spacing: normal; text-transform: uppercase; color: #b5aba0; }
body.v2 .regio__heading { margin: 0 0 28px; }
body.v2 .regio__lead { max-width: 40ch; font-size: 14px; line-height: 1.7; color: var(--onder-muted); }
body.v2 .regio__list { display: block; border-bottom: 1px solid var(--onder-line); }
body.v2 .regio__list li { border-top: 1px solid var(--onder-line); }
body.v2 .regio__list a { display: grid; grid-template-columns: minmax(0, 1fr) auto 28px; align-items: center; gap: 20px; padding: 12px 0; border: 0; background: none; color: #fff; text-decoration: none; font-size: clamp(23px, 2.8vw, 42px); line-height: 1.16; font-weight: 700; letter-spacing: normal; text-transform: uppercase; }
body.v2 .regio__list a > span:first-child { opacity: 0.55; transition: opacity 0.45s var(--ease-cinema); }
body.v2 .regio__min { font-size: 10px; font-weight: 300; letter-spacing: 0.12em; color: #b5aba0; font-variant-numeric: tabular-nums; }
body.v2 .regio__list a::after { content: ''; width: 18px; height: 18px; justify-self: end; background: currentColor; opacity: 0; transform: translateX(-6px);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: opacity 0.3s ease, transform 0.3s var(--onder-ease); }
body.v2 .regio__list a:focus-visible { outline: 2px solid #b49b78; outline-offset: 4px; }
body.v2 .regio__list a:focus-visible > span:first-child { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  body.v2 .regio__list:hover a:not(:hover) > span:first-child { opacity: 0.55; }
  body.v2 .regio__list a:hover > span:first-child { opacity: 1; }
  body.v2 .regio__list a:hover::after { opacity: 1; transform: none; }
}

/* ---------- 7. FAQ: donker, zelfde lijnen ---------- */
body.v2 .faq { background: #0e0c0b; color: #fff; padding: var(--onder-pad) var(--gutter); }
body.v2 .faq__inner { max-width: var(--container); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px clamp(32px, 5vw, 88px); align-items: start; }
body.v2 .faq__intro { position: sticky; top: 120px; margin: 0; }
body.v2 .faq__list { border-top: 1px solid var(--onder-line); }
body.v2 .faq__item { border-bottom: 1px solid var(--onder-line); border-top: 0; }
body.v2 .faq__question { color: #fff; font-size: clamp(16px, 1.25vw, 19px); font-weight: 300; padding: 26px 0; min-height: 44px; }
body.v2 .faq__icon::before, body.v2 .faq__icon::after { background: #fff; }
body.v2 .faq__answer, body.v2 .faq__answer p, body.v2 .faq__answer-text { color: var(--onder-muted); }
body.v2 .faq__answer-text { font-size: 14px; line-height: 1.75; max-width: 60ch; }

/* ---------- 8. STAP BINNEN: rustiger beeld, de taal van de hero ---------- */
body.v2 .final-cta__video, body.v2 .final-cta__bg { filter: saturate(0.5) brightness(0.78) contrast(1.05); }
body.v2 .final-cta__overlay { background:
  linear-gradient(180deg, rgba(14, 12, 11, 0.55) 0%, rgba(14, 12, 11, 0.12) 34%, rgba(14, 12, 11, 0.3) 62%, rgba(14, 12, 11, 0.9) 100%),
  radial-gradient(ellipse at 50% 45%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 75%, rgba(0, 0, 0, 0.6) 100%); }

/* ---------- mobiel ---------- */
@media (max-width: 880px) {
  .rs__inner { grid-template-columns: 1fr; grid-template-areas: "intro" "stage" "list" "note"; gap: 24px; }
  body.v2 .rs { padding: 72px var(--gutter); }
  .rs__stage { aspect-ratio: 4 / 5; margin: 4px 0 2px; }
  .rs__top { top: 14px; left: 16px; right: 16px; }
  body.v2 .rs__bottom { left: 18px; right: 18px; bottom: 18px; }
  body.v2 .rs__name, .rs__kg { font-size: clamp(19px, 5.2vw, 24px); }
  .rs__row { padding: 13px 0 14px; }
  .rs__meta { font-size: 12px; }
  .rs__meta span { display: block; margin: 6px 0 0; padding: 0; border: 0; }
  .rs__name { -webkit-hyphens: manual; hyphens: manual; }
  .rs__row:has(.rs__en) { grid-template-areas: "name name" "kg kg" "meta meta"; }
  .rs__row:has(.rs__en) .rs__kg { margin-top: 4px; }

  body.v2 .testimonials { padding: 72px var(--gutter); }
  body.v2 .testimonials__inner { grid-template-columns: 1fr; grid-template-areas: "intro" "quotes" "links"; gap: 28px; }
  body.v2 .quotes__stage { min-height: 15.5em; }
  body.v2 .quotes__nav { margin-top: 28px; }

  body.v2 .coaches { padding: 72px var(--gutter); }
  body.v2 .coaches__intro { grid-template-columns: 1fr; }
  body.v2 .coaches__sub { justify-self: start; }
  body.v2 .coach__visual img { filter: grayscale(0.85) contrast(1.04) brightness(0.95); }

  body.v2 .club-visit { padding: 72px 0; }
  body.v2 .regio { padding: 72px var(--gutter); }
  body.v2 .regio__inner { grid-template-columns: 1fr; gap: 28px; }
  body.v2 .regio__list a { font-size: clamp(19px, 5.2vw, 24px); padding: 10px 0; min-height: 48px; }
  body.v2 .regio__list a::after { opacity: 0.6; transform: none; }

  body.v2 .faq { padding: 72px var(--gutter); }
  body.v2 .faq__inner { grid-template-columns: 1fr; gap: 28px; }
  body.v2 .faq__intro { position: static; }
  body.v2 .faq__question { padding: 20px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rs *, .rs *::before, .rs *::after { transition: none !important; }
  .rs__slide .rs__img, .rs__slide.is-active .rs__img { transform: none; }
  body.v2 .quotes__item, body.v2 .quotes__item.is-active { transition: none; clip-path: none; transform: none; }
  body.v2 .club-visit__strip > .club-visit__frame, body.v2 .club-visit__photo img { transition: none !important; transform: none !important; }
  body.v2 .club-visit__line::after { animation: none !important; }
}

/* =====================================================================================
   CRÈME HOOFDSTUKKEN — het ritme van de site: donker en crème wisselen elkaar af
   (resultaten, reviews, binnen bij BFZ, vragen). Zelfde letter, lijnen en maten, donkere inkt.
   ===================================================================================== */
body.v2 section.is-licht {
  --onder-line: rgba(23, 20, 17, 0.14); --onder-muted: #5a524a; --onder-faint: #6b6157; --onder-bronze: #9a6c45;
  background-color: #efeae3; color: #171411;
}
body.v2 section.club-visit.is-licht { background-color: #e9e4dc; }
body.v2.bfz-actions section.is-licht { --action-ink: #2c2823; --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; }
body.v2 .is-licht :is(.rs__heading, .testimonials__heading, .club-visit__heading, .faq__heading),
body.v2 .is-licht :is(.rs__heading, .testimonials__heading, .club-visit__heading, .faq__heading) em { color: #171411; }
body.v2 .is-licht :is(.rs__heading, .testimonials__heading, .club-visit__heading, .faq__heading)::after { background: #9a6c45; opacity: 0.55; }
body.v2 .is-licht .offer-eyebrow { color: #6b6157; }
/* resultaten */
body.v2 .rs.is-licht .rs__row { color: #171411; }
body.v2 .rs.is-licht .rs__kg small { color: #6b6157; }
body.v2 .rs.is-licht .offer-note p { color: #5a524a; }
body.v2 .rs.is-licht .offer-note a { color: #171411; border-bottom-color: #8b7e6f; }
body.v2 .rs.is-licht .rs__stage { background: #d9d2c8; }
/* reviews */
body.v2 .testimonials.is-licht .quotes__text { color: #1d1915; }
body.v2 .testimonials.is-licht .quotes__author { color: #6b6157; }
body.v2 .testimonials.is-licht .quotes__btn { border-color: rgba(23, 20, 17, 0.35); color: #171411; }
body.v2 .testimonials.is-licht .quotes__count { color: #171411; }
body.v2 .testimonials.is-licht .testimonials__widget-note a { color: #171411; border-bottom-color: #8b7e6f; }
@media (hover: hover) and (pointer: fine) {
  body.v2 .testimonials.is-licht .quotes__btn:hover { background: #171411; color: #efeae3; }
  body.v2 .testimonials.is-licht .testimonials__widget-note a:hover { border-color: #171411; }
}
/* binnen bij BFZ */
body.v2 .club-visit.is-licht { color: #26221e; }
body.v2 .club-visit.is-licht .club-visit__head p:not(.offer-eyebrow) { color: #5a524a; }
body.v2 .club-visit.is-licht .club-visit__photo { background: #d9d2c8; }
body.v2 .club-visit.is-licht .club-visit__strip > .club-visit__frame { opacity: 0.42; }
body.v2 .club-visit.is-licht .club-visit__strip > .club-visit__frame.is-current { opacity: 1; }
body.v2 .club-visit.is-licht .club-visit__frame figcaption { color: #5a524a; }
body.v2 .club-visit.is-licht .club-visit__frame figcaption span:first-child { color: #6b6157; }
body.v2 .club-visit.is-licht .club-visit__line { background: rgba(23, 20, 17, 0.18); }
body.v2 .club-visit.is-licht .club-visit__invitation { border-top-color: rgba(23, 20, 17, 0.14); }
body.v2 .club-visit.is-licht .club-visit__invitation p { color: #5a524a; }
body.v2.bfz-actions .club-visit.is-licht .club-visit__buttons button { color: #26221e; }
/* vragen */
body.v2 .faq.is-licht .faq__question { color: #171411; }
body.v2 .faq.is-licht .faq__icon::before, body.v2 .faq.is-licht .faq__icon::after { background: #171411; }
body.v2 .faq.is-licht :is(.faq__answer, .faq__answer p, .faq__answer-text) { color: #5a524a; }

/* ---------- STATEMENT: één groot statement dat regel per regel oplicht (Gallery Play-geest) ---------- */
body.v2 .st { position: relative; background: var(--bg); color: #f3eee7; padding: clamp(120px, 15vw, 230px) var(--gutter); }
.st__inner { max-width: var(--container); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3.2fr); gap: 28px clamp(32px, 5vw, 88px); align-items: start; }
body.v2 .st__eyebrow { margin: 0; padding-top: 0.9em; display: flex; flex-direction: column; gap: 18px; max-width: 22ch; line-height: 1.6; }
body.v2 .st__eyebrow::after { content: ''; width: 120px; height: 1px; background: var(--onder-bronze); opacity: 0.6; }
body.v2 .st__text { margin: 0; font-family: var(--font-display); font-weight: 300; font-size: clamp(27px, 3.85vw, 62px); line-height: 1.13; letter-spacing: -0.02em; color: #f3eee7; text-wrap: pretty; }
body.v2 .st__text strong { font-weight: 700; text-transform: uppercase; letter-spacing: -0.01em; }
body.v2 .st__text .st__w { display: inline; }
@media (max-width: 880px) {
  body.v2 .st { padding: 96px var(--gutter); }
  .st__inner { grid-template-columns: 1fr; gap: 24px; }
  body.v2 .st__eyebrow { padding-top: 0; }
  body.v2 .st__text { font-size: clamp(25px, 7.2vw, 36px); line-height: 1.16; }
}

/* resultaten: het label staat nu één keer, boven het grote statement */
body.v2 .rs .rs-open__eyebrow { margin: 0 0 22px; text-align: center; }
body.v2 .rs .rs__inner { grid-template-areas: "stage list" "stage note"; }
@media (max-width: 880px) { body.v2 .rs .rs__inner { grid-template-areas: "stage" "list" "note"; } }


/* ---------- STATEMENT in de geest van Mana's 'methodologie' (okt 2026): gecentreerde zin die letter per letter
   inkleurt, warme gymfoto's met afgeronde hoeken die eromheen zweven ---------- */
body.v2 .st.st--mana { position: relative; display: flex; align-items: center; justify-content: center; min-height: 128vh; padding: 20vh var(--gutter); overflow: clip; background: #121010; }
body.v2 .st--mana .st__inner { position: relative; z-index: 2; display: block; max-width: 1000px; margin: 0 auto; text-align: center; }
body.v2 .st--mana .st__eyebrow { display: inline-flex; flex-direction: row; align-items: center; gap: 10px; max-width: none; margin: 0 0 30px; padding: 0; color: #b5aba0; }
body.v2 .st--mana .st__eyebrow::after { display: none; }
body.v2 .st__dot { width: 6px; height: 6px; border-radius: 50%; background: #b9885e; flex: none; }
body.v2 .st--mana .st__text { font-size: clamp(30px, 4.1vw, 64px); line-height: 1.14; letter-spacing: -0.02em; text-align: center; text-wrap: balance; color: #f3eee7; }
body.v2 .st--mana .st__text strong { font-weight: 500; text-transform: none; letter-spacing: -0.02em; }
body.v2 .st--mana .st__w { display: inline-block; white-space: nowrap; }
body.v2 .st__fotos { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
body.v2 .st__foto { position: absolute; left: var(--x); top: var(--y); width: var(--w); aspect-ratio: var(--ar, 2 / 3); margin: 0; border-radius: var(--foto-hoek, 16px); overflow: hidden; background: #1a1714; }
body.v2 .st__foto:nth-child(n+5) { display: none; }
body.v2 .st__foto img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; filter: saturate(0.95) brightness(0.96); }
@media (max-width: 880px) {
  body.v2 .st.st--mana { min-height: 0; padding: 46vw var(--gutter) 50vw; }
  body.v2 .st--mana .st__text { font-size: clamp(25px, 7.4vw, 34px); }
  body.v2 .st__foto { width: calc(var(--w) * 2.6); }
  body.v2 .st__foto:nth-child(1) { left: 4%; top: 3%; }
  body.v2 .st__foto:nth-child(2) { left: auto; right: 5%; top: 6%; }
  body.v2 .st__foto:nth-child(3) { left: 3%; top: auto; bottom: 4%; }
  body.v2 .st__foto:nth-child(4) { left: auto; right: 4%; top: auto; bottom: 7%; }
  body.v2 .st__foto:nth-child(n+5) { display: none; }
}
@media (prefers-reduced-motion: reduce) { body.v2 .st__foto { opacity: 1; transform: none; } }

/* cijfers onder de zin (Mana-geest): groot, licht, crème op donker; ze tellen één keer op als ze in beeld komen */
body.v2 .st__cijfers { list-style: none; margin: clamp(88px, 10vw, 150px) auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px clamp(24px, 4vw, 72px); max-width: 1000px; }
body.v2 .st__cijfers li { margin: 0; text-align: center; }
body.v2 .st__getal { display: block; font-family: var(--font-display); font-weight: 300; font-size: clamp(56px, 6.6vw, 108px); line-height: 0.95; letter-spacing: -0.04em; color: #f3eee7; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.v2 .st__getal sup { font-size: 0.34em; margin-left: 0.08em; letter-spacing: 0; color: #b9885e; vertical-align: 1.5em; line-height: 0; }
body.v2 .st__label { display: block; margin-top: 16px; line-height: 16px; font-size: 11px; font-weight: 300; letter-spacing: 0.12em; text-transform: uppercase; color: #b5aba0; }
@media (max-width: 880px) {
  body.v2 .st__cijfers { grid-template-columns: 1fr; gap: 40px; margin-top: 72px; }
  body.v2 .st__getal { font-size: clamp(56px, 18vw, 80px); }
}

/* ---------- 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; }
}

/* ---------- ONZE CLUB (okt 2026): links het label, rechts de zin die inkleurt; daaronder vier cijfers in een strak
   raster met haarlijnen. De cijfers rollen één keer op zoals een teller (zie bfz-home-onder.js). ---------- */
body.v2 .st.st--rust { min-height: 0; display: block; padding: clamp(150px, 17vw, 250px) var(--gutter) clamp(120px, 13vw, 200px); }
body.v2 .st--rust .st__inner {
  max-width: var(--container); margin: 0 auto; text-align: left;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px);
}
body.v2 .st--rust .st__eyebrow { grid-column: 1 / 4; align-self: start; margin: 0; padding-top: 0.9em; }
body.v2 .st--rust .st__text { grid-column: 4 / -1; margin: 0; max-width: 15.5em; font-size: clamp(32px, 4.5vw, 78px); line-height: 1.1; letter-spacing: -0.025em; text-align: left; text-wrap: balance; }
body.v2 .st--rust .st__text strong { font-weight: 500; }
body.v2 .st__rij {
  grid-column: 1 / -1; list-style: none; margin: clamp(110px, 12vw, 180px) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px);
}
body.v2 .st__cel { position: relative; margin: 0; padding: 22px 0 0; display: grid; grid-template-rows: auto auto auto; }
body.v2 .st__cel::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(243, 238, 231, 0.18);
  transform-origin: 0 50%; transition: transform 1.3s cubic-bezier(0.22, 1, 0.36, 1);
}
body.v2 .st__cel::after {
  content: ''; position: absolute; left: 0; top: 0; width: 28px; height: 1px; background: #b9885e;
  transform-origin: 0 50%; transition: transform 1.3s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}
body.v2 .st__nr { font-size: 11px; line-height: 1; letter-spacing: 0.12em; color: #b9885e; font-variant-numeric: tabular-nums; }
body.v2 .st__waarde {
  display: flex; align-items: flex-start; margin-top: clamp(28px, 3vw, 44px);
  font-family: var(--font-display); font-weight: 300; font-size: clamp(60px, 7.2vw, 124px); line-height: 1; letter-spacing: -0.045em;
  color: #f3eee7; font-variant-numeric: tabular-nums;
}
body.v2 .st__eenheid { font-size: 0.32em; line-height: 1; margin: 0.1em 0 0 0.1em; letter-spacing: 0; color: #b9885e; }
body.v2 .st__wat { margin-top: 18px; font-size: 11px; font-weight: 500; line-height: 16px; letter-spacing: 0.16em; text-transform: uppercase; color: #b5aba0; }
/* de teller: elk cijfer een kolom met een strook 0-9 die naar zijn plaats rolt */
body.v2 .rol { display: inline-flex; }
body.v2 .rol__k { position: relative; display: inline-block; height: 1em; overflow: visible; clip-path: inset(0 -0.12em); }
body.v2 .rol__s { display: flex; flex-direction: column; will-change: transform, filter; }
body.v2 .rol__s > span { display: block; height: 1em; line-height: 1; text-align: center; }
body.v2 .rol__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* binnenkomen (klasse van bfz-home-onder.js): lijnen tekenen, labels volgen */
body.v2 .st__rij.is-wacht .st__cel::before, body.v2 .st__rij.is-wacht .st__cel::after { transform: scaleX(0); }
body.v2 .st__rij :is(.st__nr, .st__wat) { transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
body.v2 .st__rij.is-wacht :is(.st__nr, .st__wat) { opacity: 0; transform: translateY(10px); }
body.v2 .st__rij .st__cel:nth-child(2)::before { transition-delay: 0.1s; } body.v2 .st__rij .st__cel:nth-child(3)::before { transition-delay: 0.2s; } body.v2 .st__rij .st__cel:nth-child(4)::before { transition-delay: 0.3s; }
body.v2 .st__rij .st__cel:nth-child(2) :is(.st__nr, .st__wat) { transition-delay: 0.15s; } body.v2 .st__rij .st__cel:nth-child(3) :is(.st__nr, .st__wat) { transition-delay: 0.3s; } body.v2 .st__rij .st__cel:nth-child(4) :is(.st__nr, .st__wat) { transition-delay: 0.45s; }
@media (max-width: 880px) {
  body.v2 .st.st--rust { padding: 120px var(--gutter) 96px; }
  body.v2 .st--rust .st__inner { grid-template-columns: minmax(0, 1fr); }
  body.v2 .st--rust .st__eyebrow { grid-column: 1; padding-top: 0; margin-bottom: 26px; }
  body.v2 .st--rust .st__text { grid-column: 1; font-size: clamp(28px, 8vw, 40px); max-width: none; }
  body.v2 .st__rij { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 44px; margin-top: 80px; }
  body.v2 .st__waarde { font-size: clamp(52px, 15vw, 72px); margin-top: 22px; }
  body.v2 .st__wat { margin-top: 12px; font-size: 10px; letter-spacing: 0.12em; }
}
@media (prefers-reduced-motion: reduce) { body.v2 .st__rij *, body.v2 .st__rij *::before, body.v2 .st__rij *::after { transition: none !important; } }

