/* Loopcoach Tempo (coach c) · N5 kop over het beeld · H6 splitstrook langs een 10 km-as · R4 kilometerpaaltjes als hoofdstukken
   Koppen: Saira (variabel) · Omnibus-Type, SIL Open Font License 1.1 · tekst en labels: Archivo (variabel) · Omnibus-Type, SIL OFL 1.1
   Palet: blauwe atletiekbaan + asfalt + krijtwit + hi-vis fluogeel */

@font-face { font-family: "Saira Tempo"; src: url("../../fonts/Saira-Variable.woff2") format("woff2");
             font-weight: 100 900; font-stretch: 50% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Saira Tempo"; src: url("../../fonts/Saira-VariableItalic.woff2") format("woff2");
             font-weight: 100 900; font-stretch: 50% 125%; font-style: italic; font-display: swap; }

@font-face { font-family: "Archivo Tempo"; src: url("../../fonts/Archivo-Variable.woff2") format("woff2");
             font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo Tempo"; src: url("../../fonts/Archivo-VariableItalic.woff2") format("woff2");
             font-weight: 100 900; font-stretch: 62% 125%; font-style: italic; font-display: swap; }

body.s-coach-c {
  --asfalt: #16181a; --asfalt2: #212427; --asfalt3: #2c3034;
  --krijt: #f2efe7; --krijt2: #e6e1d5; --krijt3: #d6d0c1;
  --baan: #1d4f9c; --baan2: #3d72c4; --baan-licht: #b5cbec; --baan-d: #163c78;
  --neon: #d6ff3d; --grijs: #565a5e; --grijs-d: #a9adb1;
  --lijn: rgba(22, 24, 26, .16); --lijn-d: rgba(242, 239, 231, .16);
  --rand: clamp(16px, 4vw, 56px); --max: 1320px; --gutter: 96px;
  --disp: "Saira Tempo", "Archivo Tempo", system-ui, sans-serif;
  --a: #1d4f9c; --a2: #d6ff3d; --bg2: #e6e1d5;
  margin: 0; background: var(--krijt); color: var(--asfalt);
  font: 400 17px/1.6 "Archivo Tempo", "Barlow", system-ui, sans-serif; font-stretch: 100%;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body.s-coach-c a { color: inherit; }
body.s-coach-c h1, body.s-coach-c h2, body.s-coach-c h3 { margin: 0; font-family: var(--disp); font-weight: 600; letter-spacing: -.01em; }
body.s-coach-c p { margin: 0 0 1em; }
body.s-coach-c .pijl { width: 1.1em; height: 1.1em; flex: none; }
body.s-coach-c .ic { width: 20px; height: 20px; flex: none; }
body.s-coach-c main { display: block; }

/* ── Kop (transparant over de filmstrook) ───────────────────────── */
body.s-coach-c .kop { position: absolute; left: 0; right: 0; z-index: 40; color: #fff; }
body.s-coach-c .kop-in { max-width: calc(var(--max) + 2 * var(--rand)); margin: 0 auto; padding: 22px var(--rand);
  display: flex; align-items: center; gap: 28px; }
body.s-coach-c .logo { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; }
body.s-coach-c .logo .mark { width: 46px; height: 28px; color: currentColor; overflow: visible; }
body.s-coach-c .logo .mark .loper { fill: var(--neon); }
body.s-coach-c .logo-tekst { display: flex; flex-direction: column; line-height: 1; }
body.s-coach-c .logo-tekst b { font-family: var(--disp); font-size: 30px; font-weight: 600; font-stretch: 100%; letter-spacing: .01em; }
body.s-coach-c .logo-tekst small { font-size: 10.5px; font-weight: 600; font-stretch: 118%; letter-spacing: .14em; text-transform: uppercase; margin-top: 4px; opacity: .9; }
body.s-coach-c .nav { display: flex; align-items: center; gap: 26px; flex: 1; }
body.s-coach-c .nav ul { list-style: none; margin: 0 auto; padding: 0; display: flex; gap: 30px; }
body.s-coach-c .nav a { text-decoration: none; }
body.s-coach-c .nav ul a { font-size: 15px; font-weight: 600; font-stretch: 112%; letter-spacing: .02em; padding: 6px 0;
  border-bottom: 2px solid transparent; text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
body.s-coach-c .nav ul a:hover { border-bottom-color: rgba(255, 255, 255, .7); }
body.s-coach-c .nav ul a[aria-current] { border-bottom-color: var(--neon); }
body.s-coach-c .nav-site { font-size: 13.5px; font-weight: 600; font-stretch: 105%; padding: 7px 12px; border: 1.5px solid rgba(255, 255, 255, .55);
  border-radius: 999px; white-space: nowrap; }
body.s-coach-c .nav-site:hover, body.s-coach-c .nav-site[aria-current] { background: rgba(255, 255, 255, .14); border-color: #fff; }
body.s-coach-c .nav-cta { font-family: var(--disp); background: var(--neon); color: var(--asfalt) !important; font-weight: 600; font-stretch: 100%; font-size: 15px; letter-spacing: .04em; padding: 11px 22px 11px 18px; white-space: nowrap;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
body.s-coach-c .nav-cta:hover { background: #fff; }
body.s-coach-c .menu-toggle, body.s-coach-c .menu-knop { display: none; }
body.s-coach-c .kop-vast { position: relative; background: var(--asfalt); }

/* ── Splitstrook: foto's als splits langs de afstand ───────────── */
body.s-coach-c .strook { position: relative; background: var(--asfalt); color: var(--krijt); padding: 118px var(--rand) 0; }
body.s-coach-c .strook::before { content: ""; position: absolute; inset: 0 0 auto; height: 110px; pointer-events: none;
  background: linear-gradient(var(--asfalt2), var(--asfalt)); }
body.s-coach-c .strook-scroll { position: relative; max-width: var(--max); margin: 0 auto; }
body.s-coach-c .strook-baan { position: relative; }
body.s-coach-c .strook-rail { display: flex; align-items: flex-end; height: clamp(440px, 64vh, 640px); padding-top: 62px; }
body.s-coach-c .strook-sub .strook-rail { height: clamp(330px, 46vh, 470px); }
body.s-coach-c .split { position: relative; margin: 0; min-width: 0; flex-grow: 0; flex-shrink: 0; padding-right: 6px; box-sizing: border-box; }
body.s-coach-c .split:last-child { padding-right: 0; }
body.s-coach-c .split-in { position: relative; height: 100%; overflow: hidden; background: var(--asfalt3); }
body.s-coach-c .split-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; min-height: 0; }
body.s-coach-c .split .ph-cap { color: rgba(255, 255, 255, .8); }
body.s-coach-c .split-tag { position: absolute; left: 0; bottom: 100%; display: flex; flex-direction: column; gap: 2px; padding: 0 0 10px;
  border-left: 2px solid var(--neon); padding-left: 10px; margin-bottom: 0; line-height: 1; white-space: nowrap; }
body.s-coach-c .split-tag span { font-size: 11px; font-weight: 700; font-stretch: 120%; letter-spacing: .16em; text-transform: uppercase; color: var(--grijs-d); }
body.s-coach-c .split-tag b { font-family: var(--disp); font-size: clamp(22px, 2.3vw, 32px); font-weight: 500; font-variant-numeric: tabular-nums; color: #fff; }
body.s-coach-c .split-tag small { font-size: .5em; font-weight: 500; color: var(--grijs-d); margin-left: 2px; }
body.s-coach-c .split-tag i { display: inline-block; margin-left: 12px; font-style: normal; font-family: var(--disp); font-size: .56em; font-weight: 600;
  background: var(--neon); color: var(--asfalt); padding: 4px 8px 3px; vertical-align: middle; transform: translateY(-3px); }
body.s-coach-c .split.laatste .split-tag { left: auto; right: 0; border-left: 0; border-right: 2px solid var(--neon); padding: 0 10px 10px 0; align-items: flex-end; }
body.s-coach-c .split.laatste .split-in::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 10px;
  background: repeating-conic-gradient(var(--asfalt) 0 25%, #fff 0 50%) 0 0 / 10px 10px; }
/* de as: een stuk weg met kilometerstreepjes */
body.s-coach-c .strook-as { position: relative; height: 58px; margin-top: 0; border-top: 4px solid var(--neon);
  background: linear-gradient(var(--asfalt) 0 0) 0 30px / 100% 2px no-repeat; }
body.s-coach-c .strook-as::after { content: ""; position: absolute; left: 0; right: 0; top: 46px; height: 2px;
  background: repeating-linear-gradient(90deg, rgba(242, 239, 231, .45) 0 18px, transparent 18px 34px); }
body.s-coach-c .strook-as .t { position: absolute; top: 0; width: 1.5px; height: 8px; background: rgba(242, 239, 231, .5); }
body.s-coach-c .strook-as .t.groot { height: 14px; width: 2px; background: var(--krijt); }
body.s-coach-c .strook-as .t em { position: absolute; top: 18px; left: 0; transform: translateX(-50%); font-style: normal; font-size: 12px; font-weight: 700;
  font-stretch: 112%; letter-spacing: .06em; color: var(--krijt); white-space: nowrap; font-variant-numeric: tabular-nums; background: var(--asfalt); padding: 0 6px; }
body.s-coach-c .strook-as .t:first-child em { transform: none; padding-left: 0; }
body.s-coach-c .strook-as .t:last-child em { transform: translateX(-100%); padding-right: 0; color: var(--neon); }
body.s-coach-c .strook-onder { max-width: var(--max); margin: 0 auto; display: flex; justify-content: space-between; align-items: baseline; gap: 10px 30px;
  flex-wrap: wrap; padding: 6px 0 26px; font-size: 14px; color: var(--grijs-d); }
body.s-coach-c .strook-onder p { margin: 0; }
body.s-coach-c .strook-onder b { color: var(--krijt); font-weight: 700; }
body.s-coach-c .strook-onder .rechts { font-size: 11.5px; font-weight: 700; font-stretch: 120%; letter-spacing: .14em; text-transform: uppercase; }
body.s-coach-c .strook-onder .veeg { display: none; }

/* ── Opening onder de strook ───────────────────────────────────── */
body.s-coach-c .opening { padding: clamp(40px, 6vw, 84px) var(--rand) clamp(56px, 7vw, 104px); border-bottom: 1px solid var(--lijn); }
body.s-coach-c .opening-in { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  column-gap: clamp(32px, 5vw, 80px); row-gap: 28px; grid-template-areas: "tag tag" "h1 rechts" "h1 volgende"; }
body.s-coach-c .opening.sub .opening-in { grid-template-areas: "tag tag" "h1 rechts"; }
body.s-coach-c .kruimel { grid-area: tag; margin: 0; font-size: 12px; font-weight: 700; font-stretch: 120%; letter-spacing: .16em;
  text-transform: uppercase; color: var(--grijs); display: flex; align-items: center; gap: 10px; }
body.s-coach-c .kruimel a { text-decoration: none; color: var(--baan); }
body.s-coach-c .kruimel .stip { width: 10px; height: 10px; border-radius: 50%; background: var(--baan); box-shadow: 0 0 0 4px rgba(29, 79, 156, .2); }
body.s-coach-c .opening h1 { font-family: var(--disp); grid-area: h1; font-size: clamp(54px, 8.6vw, 140px); line-height: .86; font-weight: 600; font-stretch: 100%;
  letter-spacing: -.005em; }
body.s-coach-c .opening h1 em { display: block; font-style: normal; font-weight: 300; }
body.s-coach-c .opening h1 em span { background: linear-gradient(transparent 64%, var(--neon) 64% 88%, transparent 88%); padding: 0 .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
body.s-coach-c .opening.sub h1 { font-size: clamp(50px, 7.4vw, 118px); }
body.s-coach-c .opening-rechts { grid-area: rechts; align-self: end; }
body.s-coach-c .intro { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.55; max-width: 34em; }
body.s-coach-c .acts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 26px; }
body.s-coach-c .tekstlink { font-weight: 700; font-stretch: 95%; text-decoration: none; border-bottom: 2px solid var(--baan); padding-bottom: 2px; }
body.s-coach-c .tekstlink:hover { color: var(--baan); }
body.s-coach-c .usps { list-style: none; padding: 0; margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px;
  font-weight: 600; font-stretch: 105%; color: var(--grijs); }
body.s-coach-c .usps li { display: flex; align-items: center; gap: 8px; }
body.s-coach-c .usps li::before { content: ""; width: 14px; height: 3px; background: var(--baan); }

/* knoppen: leunen naar voren, zoals een loper */
body.s-coach-c .knop { display: inline-flex; align-items: center; gap: 12px; padding: 16px 26px 16px 24px; text-decoration: none;
  background: var(--asfalt); color: #fff; font-size: 17px; font-weight: 600; font-stretch: 100%; letter-spacing: .01em;
  clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); padding-right: 36px; transition: background .15s; border: 0; cursor: pointer; font-family: var(--disp); }
body.s-coach-c .knop.vol { background: var(--baan); }
body.s-coach-c .knop.vol:hover { background: var(--asfalt); }
body.s-coach-c .knop.neon { background: var(--neon); color: var(--asfalt); }
body.s-coach-c .knop.neon:hover { background: #fff; }
body.s-coach-c .knop:hover .pijl { transform: translateX(3px); }
body.s-coach-c .knop .pijl { transition: transform .15s; }

body.s-coach-c .volgende { grid-area: volgende; align-self: start; background: var(--asfalt); color: var(--krijt); padding: 24px 26px 22px;
  border-left: 6px solid var(--neon); }
body.s-coach-c .vl-kop { font-size: 11.5px; font-weight: 700; font-stretch: 122%; letter-spacing: .18em; text-transform: uppercase; color: var(--neon); margin-bottom: 8px; }
body.s-coach-c .vl-dag { font-family: var(--disp); font-size: 34px; font-weight: 600; font-stretch: 100%; line-height: 1; margin-bottom: 18px; }
body.s-coach-c .vl-dag b { font-variant-numeric: tabular-nums; color: var(--neon); }
body.s-coach-c .volgende ul { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 10px; font-size: 15px; line-height: 1.4; }
body.s-coach-c .volgende li { display: flex; gap: 12px; }
body.s-coach-c .volgende li .ic { color: var(--grijs-d); margin-top: 1px; }
body.s-coach-c .vl-link { display: inline-flex; gap: 10px; align-items: center; font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--neon); padding-bottom: 3px; }

/* sprong-links (binnen de pagina) */
body.s-coach-c .sprong { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; align-items: center; }
body.s-coach-c .sprong > span { font-size: 11.5px; font-weight: 700; font-stretch: 120%; letter-spacing: .16em; text-transform: uppercase; color: var(--grijs); margin-right: 6px; }
body.s-coach-c .sprong a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; text-decoration: none;
  padding: 7px 12px; border: 1.5px dashed rgba(22, 24, 26, .35); border-radius: 4px; }
body.s-coach-c .sprong a .pijl { width: 14px; height: 14px; color: var(--baan); }
body.s-coach-c .sprong a:hover { border-style: solid; border-color: var(--baan); }

/* ── Route met kilometerpaaltjes ───────────────────────────────── */
body.s-coach-c .route { position: relative; }
body.s-coach-c .route::before { content: ""; position: absolute; top: 0; bottom: 0; z-index: 1; width: 4px;
  left: calc(max(var(--rand), (100% - var(--max)) / 2) + 35px);
  background: repeating-linear-gradient(to bottom, var(--baan) 0 18px, transparent 18px 34px); opacity: .8; }
body.s-coach-c .hs { position: relative; padding: clamp(72px, 9vw, 136px) var(--rand); }
body.s-coach-c .hs + .hs:not(.donker):not(.hs-finish) { border-top: 1px solid var(--lijn); }
body.s-coach-c .hs-in { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: var(--gutter) minmax(0, 1fr); }
body.s-coach-c .hs-body { min-width: 0; }
body.s-coach-c .paal { position: sticky; top: 64px; z-index: 2; align-self: start; display: flex; flex-direction: column; align-items: flex-start; }
body.s-coach-c .bord { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 74px; padding: 6px 0 8px;
  background: #fff; color: var(--asfalt); border: 2px solid var(--asfalt); border-top: 10px solid var(--baan); line-height: 1;
  box-shadow: 3px 4px 0 rgba(22, 24, 26, .14); }
body.s-coach-c .bord i { font-style: normal; font-size: 11px; font-weight: 700; font-stretch: 125%; letter-spacing: .14em; text-transform: uppercase; color: var(--grijs); }
body.s-coach-c .bord b { font-family: var(--disp); font-size: 40px; font-weight: 600; font-stretch: 100%; font-variant-numeric: tabular-nums; margin-top: 2px; }
body.s-coach-c .bord b.fin { font-size: 15px; font-stretch: 100%; font-family: var(--disp); letter-spacing: .02em; padding: 10px 0 4px; }
body.s-coach-c .stok { width: 8px; height: 40px; margin-left: 33px; background: var(--asfalt); }
body.s-coach-c .hs-kop { margin-bottom: clamp(36px, 4.5vw, 60px); max-width: 980px; }
body.s-coach-c .hs-kop h2 { font-family: var(--disp); font-size: clamp(38px, 5.2vw, 76px); line-height: .94; font-stretch: 100%; font-weight: 600; letter-spacing: -.003em; }
body.s-coach-c .hs-kop .lead { margin: 20px 0 0; font-size: 19px; line-height: 1.55; color: var(--grijs); max-width: 40em; }
body.s-coach-c .verder { margin: 40px 0 0; }
body.s-coach-c .verder a { display: inline-flex; gap: 10px; align-items: center; font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--baan); padding-bottom: 3px; }
body.s-coach-c .verder a:hover { color: var(--baan); }
body.s-coach-c .klein { font-size: 14px; color: var(--grijs); margin-top: 20px; }

/* donkere hoofdstukken: avond in het park */
body.s-coach-c .donker { background: var(--asfalt); color: var(--krijt); }
body.s-coach-c .donker .hs-kop .lead, body.s-coach-c .donker .klein { color: var(--grijs-d); }
body.s-coach-c .donker .stok { background: var(--krijt2); }
body.s-coach-c .donker .bord { border-color: var(--krijt2); box-shadow: none; }
body.s-coach-c .verder.licht a, body.s-coach-c .donker .verder a { border-color: var(--neon); }
body.s-coach-c .donker .verder a:hover { color: var(--neon); }

/* finish: op de baan */
body.s-coach-c .hs-finish { background: var(--baan); color: #fff; border-top: 6px solid #fff; }
body.s-coach-c .hs-finish .stok { background: #fff; }
body.s-coach-c .hs-finish .bord { border-color: #fff; border-top-color: var(--asfalt); box-shadow: none;
  background: repeating-conic-gradient(var(--asfalt) 0 25%, #fff 0 50%) 0 0 / 12px 12px; }
body.s-coach-c .hs-finish .bord b.fin { background: #fff; padding: 6px 8px 5px; margin: 8px 0 0; }
body.s-coach-c .hs-finish .hs-kop .lead { color: rgba(255, 255, 255, .92); }
body.s-coach-c .hs-finish .klein { color: rgba(255, 255, 255, .9); }
body.s-coach-c .hs-finish .knop.vol { background: var(--asfalt); }
body.s-coach-c .hs-finish .knop.vol:hover { background: #fff; color: var(--asfalt); }
body.s-coach-c .hs-finish .tekstlink { border-color: #fff; }
body.s-coach-c .hs-finish .tekstlink:hover { color: #fff; opacity: .85; }
body.s-coach-c .route:has(.hs-finish:last-child)::before { bottom: auto; height: calc(100% - 120px); }

/* ── Tempo-schaal ──────────────────────────────────────────────── */
body.s-coach-c .schaal { margin-bottom: 48px; }
body.s-coach-c .schaal-baan { position: relative; height: 70px; background: var(--krijt2);
  background-image: repeating-linear-gradient(90deg, rgba(22, 24, 26, .12) 0 1px, transparent 1px 12.5%); }
body.s-coach-c .band { font-family: var(--disp); position: absolute; top: 0; bottom: 0; display: flex; align-items: center; padding: 0 16px;
  font-weight: 600; font-stretch: 100%; font-size: 22px; letter-spacing: .02em; border-left: 3px solid var(--krijt); }
body.s-coach-c .band.b0 { background: var(--baan-licht); }
body.s-coach-c .band.b1 { background: #6f97d6; }
body.s-coach-c .band.b2 { background: var(--baan); color: #fff; }
body.s-coach-c .schaal-ticks { position: relative; height: 30px; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--grijs); }
body.s-coach-c .schaal-ticks span { position: absolute; top: 8px; transform: translateX(-50%); }
body.s-coach-c .schaal-ticks span:first-child { transform: none; }
body.s-coach-c .schaal-ticks span:last-child { transform: translateX(-100%); }
body.s-coach-c .schaal-pijl { display: flex; justify-content: space-between; margin: 8px 0 0; font-size: 11.5px; font-weight: 700;
  font-stretch: 120%; letter-spacing: .16em; text-transform: uppercase; color: var(--grijs); }
body.s-coach-c .schaal-pijl span:last-child::after { content: " \2192"; }
body.s-coach-c .schaal-pijl span:first-child::before { content: "\2190 "; }
body.s-coach-c .groepen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
body.s-coach-c .groep { padding: 6px 30px 4px; border-left: 2px solid var(--lijn); }
body.s-coach-c .groep:first-child { padding-left: 0; border-left: 0; }
body.s-coach-c .g-tempo { font-family: var(--disp); font-size: 30px; font-weight: 600; font-stretch: 100%; font-variant-numeric: tabular-nums; margin-bottom: 14px; line-height: 1; }
body.s-coach-c .g-tempo small { font-size: 13px; font-weight: 600; font-stretch: 110%; color: var(--grijs); letter-spacing: .04em; }
body.s-coach-c .g0 .g-tempo { color: #4a6fa6; } body.s-coach-c .g1 .g-tempo { color: #2d5ea8; } body.s-coach-c .g2 .g-tempo { color: var(--baan); }
body.s-coach-c .groep h3 { font-size: 26px; }
body.s-coach-c .g-sub { font-weight: 600; margin: 2px 0 10px; }
body.s-coach-c .groep p:last-child { color: var(--grijs); font-size: 16px; margin: 0; }

/* ── Start-to-run schema ──────────────────────────────────────── */
body.s-coach-c .schema { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
body.s-coach-c .schema li { display: grid; grid-template-columns: 84px minmax(0, 1fr) 170px; align-items: center; gap: 18px; }
body.s-coach-c .schema .wk { font-size: 12px; font-weight: 700; font-stretch: 118%; letter-spacing: .14em; text-transform: uppercase; color: var(--grijs-d); }
body.s-coach-c .schema .balk { display: flex; gap: 2px; height: 24px; min-width: 0; }
body.s-coach-c .schema .balk i { display: block; min-width: 2px; }
body.s-coach-c .schema .balk i.l { background: var(--neon); }
body.s-coach-c .schema .balk i.w { background: #50555a; }
body.s-coach-c .schema li:last-child .balk i.l { background: #fff; }
body.s-coach-c .schema .wat { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--krijt); }
body.s-coach-c .schema li:last-child .wat { color: var(--neon); font-weight: 800; }
body.s-coach-c .legenda { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 22px 0 0 102px; font-size: 13.5px; color: var(--grijs-d); }
body.s-coach-c .legenda span { display: inline-flex; align-items: center; gap: 8px; }
body.s-coach-c .legenda i { width: 22px; height: 10px; display: inline-block; }
body.s-coach-c .legenda i.l { background: var(--neon); } body.s-coach-c .legenda i.w { background: #50555a; }
body.s-coach-c .legenda i.r { background: var(--krijt3); } body.s-coach-c .legenda i.x { background: var(--neon); }
body.s-coach-c .schema-wrap { max-width: 1100px; }

/* ── Training in minuten ──────────────────────────────────────── */
body.s-coach-c .training-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 5vw, 64px); }
body.s-coach-c .tb-rij { display: flex; gap: 4px; }
body.s-coach-c .tb { flex-basis: 0; min-width: 0; padding-top: 0; }
body.s-coach-c .tb::before { content: ""; display: block; height: 16px; background: var(--krijt3); margin-bottom: 14px; }
body.s-coach-c .tb.t1::before { background: var(--baan-licht); }
body.s-coach-c .tb.t2::before { background: var(--baan); }
body.s-coach-c .tb-tijd { display: block; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--grijs); }
body.s-coach-c .tb b { font-family: var(--disp); display: block; font-size: 21px; font-weight: 600; font-stretch: 100%; line-height: 1.1; margin: 4px 0 2px; }
body.s-coach-c .tb-min { display: block; font-size: 13px; font-weight: 600; color: var(--baan); margin-bottom: 8px; }
body.s-coach-c .tb p { font-size: 14.5px; line-height: 1.45; color: var(--grijs); padding-right: 10px; margin: 0; }
body.s-coach-c .tb-eind { margin: 26px 0 0; padding-top: 14px; border-top: 2px solid var(--asfalt); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.s-coach-c .foto-naast { margin: 0; }
body.s-coach-c .fn-img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
body.s-coach-c .foto-naast { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; align-items: end; }
body.s-coach-c .foto-naast figcaption { font-size: 15px; color: var(--grijs); font-style: italic; border-top: 2px solid var(--baan); padding-top: 10px; }

/* ── Dienstenrijen (index) ────────────────────────────────────── */
body.s-coach-c .rijen { list-style: none; margin: 0; padding: 0; border-bottom: 2px solid var(--asfalt); }
body.s-coach-c .rijen a { display: grid; grid-template-columns: 56px minmax(0, 1.1fr) minmax(0, 1.2fr) 170px 28px; align-items: center; gap: 22px;
  padding: 26px 0; border-top: 2px solid var(--asfalt); text-decoration: none; transition: padding .2s, color .2s; }
body.s-coach-c .rijen a:hover { color: var(--baan); padding-left: 12px; }
body.s-coach-c .r-nr { font-size: 14px; font-weight: 700; font-stretch: 120%; color: var(--baan); letter-spacing: .1em; }
body.s-coach-c .r-titel { font-family: var(--disp); font-size: clamp(28px, 3vw, 42px); font-weight: 600; font-stretch: 100%; line-height: 1; }
body.s-coach-c .r-kort { color: var(--grijs); }
body.s-coach-c .r-prijs { font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }

/* ── Verhalen ─────────────────────────────────────────────────── */
body.s-coach-c .verhalen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
body.s-coach-c .verhaal { margin: 0; padding-top: 18px; border-top: 6px solid var(--asfalt); display: flex; flex-direction: column; }
body.s-coach-c .v-label { font-size: 11.5px; font-weight: 700; font-stretch: 122%; letter-spacing: .16em; text-transform: uppercase; color: var(--baan); margin-bottom: 10px; }
body.s-coach-c .v-split { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-variant-numeric: tabular-nums; margin-bottom: 18px; }
body.s-coach-c .v-split span { font-size: 15px; color: var(--grijs); text-decoration: line-through; text-decoration-thickness: 1px; }
body.s-coach-c .v-split .pijl { color: var(--baan); }
body.s-coach-c .v-split b { font-family: var(--disp); font-size: 26px; font-weight: 600; font-stretch: 100%; line-height: 1.05; }
body.s-coach-c .verhaal blockquote { margin: 0 0 16px; font-size: 18px; line-height: 1.55; flex: 1; }
body.s-coach-c .verhaal figcaption { font-size: 14px; font-weight: 700; font-stretch: 108%; }

/* ── Finish-blok ──────────────────────────────────────────────── */
body.s-coach-c .finish { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
body.s-coach-c .finish-foto { margin: 0; border: 6px solid #fff; }
body.s-coach-c .ff-img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
body.s-coach-c .finish-tekst > p { font-size: 20px; line-height: 1.55; }
body.s-coach-c .finish-tekst.wijd { grid-column: 1 / -1; max-width: 760px; }
body.s-coach-c .feiten { margin: 26px 0 0; padding: 0; display: grid; gap: 0; }
body.s-coach-c .feiten > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--lijn); }
body.s-coach-c .feiten > div:last-child { border-bottom: 1px solid var(--lijn); }
body.s-coach-c .feiten dt { font-size: 12px; font-weight: 700; font-stretch: 118%; letter-spacing: .14em; text-transform: uppercase; color: var(--grijs); padding-top: 3px; }
body.s-coach-c .feiten dd { margin: 0; font-weight: 600; }
body.s-coach-c .hs-finish .feiten > div, body.s-coach-c .donker .feiten > div { border-color: rgba(255, 255, 255, .3); }
body.s-coach-c .hs-finish .feiten dt { color: rgba(255, 255, 255, .85); }
body.s-coach-c .donker .feiten dt { color: var(--grijs-d); }

/* ── Dienstenpagina ───────────────────────────────────────────── */
body.s-coach-c .dienst { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
body.s-coach-c .d-lang { font-size: 19px; line-height: 1.6; }
body.s-coach-c .vinkjes { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 8px; }
body.s-coach-c .vinkjes li { display: flex; gap: 12px; align-items: baseline; font-weight: 600; }
body.s-coach-c .vinkjes li::before { content: ""; flex: none; width: 16px; height: 4px; background: var(--baan); transform: translateY(-4px) skewX(-20deg); }
body.s-coach-c .donker .vinkjes li::before { background: var(--neon); }
body.s-coach-c .dienst .feiten { margin-bottom: 30px; }
body.s-coach-c .d-visual { background: #fff; padding: clamp(22px, 3vw, 36px); border: 1px solid var(--lijn); }
body.s-coach-c .donker .d-visual { background: var(--asfalt2); border-color: var(--lijn-d); }
body.s-coach-c .schema.compact li { grid-template-columns: 70px minmax(0, 1fr) 128px; gap: 12px; }
body.s-coach-c .schema.compact .balk { height: 16px; }
body.s-coach-c .schema.compact .wat { font-size: 13px; }
body.s-coach-c .schema.compact + .legenda { margin-left: 0; }
body.s-coach-c .dl-kop { font-size: 12px; font-weight: 700; font-stretch: 120%; letter-spacing: .15em; text-transform: uppercase; color: var(--grijs); margin-bottom: 22px; }
body.s-coach-c .week ul { list-style: none; margin: 0; padding: 0; }
body.s-coach-c .week li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 2px 16px; padding: 14px 0; border-top: 1px solid var(--lijn); }
body.s-coach-c .week .d { grid-row: span 2; font-size: 12px; font-weight: 700; font-stretch: 118%; letter-spacing: .12em; text-transform: uppercase; color: var(--baan); padding-top: 6px; }
body.s-coach-c .week b { font-family: var(--disp); font-size: 26px; font-weight: 600; font-stretch: 100%; line-height: 1.1; }
body.s-coach-c .week .u { color: var(--grijs); font-size: 15px; }
body.s-coach-c .pr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 22px 0 0; padding: 16px 18px; background: var(--asfalt); color: var(--krijt); font-variant-numeric: tabular-nums; }
body.s-coach-c .pr span { font-size: 13px; color: var(--grijs-d); }
body.s-coach-c .pr b { font-family: var(--disp); font-size: 26px; font-weight: 600; font-stretch: 100%; }
body.s-coach-c .pr b.nu { color: var(--neon); }
body.s-coach-c .duurloop ol { list-style: none; margin: 0; padding: 0; display: flex; align-items: flex-end; gap: 4px; height: 240px; }
body.s-coach-c .duurloop li { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; }
body.s-coach-c .duurloop .kol { display: block; background: var(--baan2); position: relative; }
body.s-coach-c .duurloop li.rust .kol { background: var(--krijt3); }
body.s-coach-c .duurloop li.race .kol { background: var(--asfalt); }
body.s-coach-c .duurloop .kol b { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); font-size: 11px; font-weight: 700; padding-bottom: 4px; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.s-coach-c .duurloop li.race .kol b { font-size: 13px; color: var(--baan); }
body.s-coach-c .duurloop .w { font-size: 10.5px; color: var(--grijs); text-align: center; padding-top: 6px; font-variant-numeric: tabular-nums; }
body.s-coach-c .duurloop .legenda { margin: 18px 0 0; color: var(--grijs); }
body.s-coach-c .duurloop .legenda i.l { background: var(--baan2); } body.s-coach-c .duurloop .legenda i.x { background: var(--asfalt); }
body.s-coach-c .analyse table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
body.s-coach-c .analyse th, body.s-coach-c .analyse td { text-align: left; padding: 14px 10px 14px 0; border-top: 1px solid var(--lijn); vertical-align: baseline; }
body.s-coach-c .analyse thead th { border-top: 0; font-size: 11.5px; font-weight: 700; font-stretch: 118%; letter-spacing: .14em; text-transform: uppercase; color: var(--grijs); padding-bottom: 8px; }
body.s-coach-c .analyse tbody th { font-weight: 700; }
body.s-coach-c .analyse td { font-size: 22px; font-weight: 700; font-stretch: 80%; color: var(--grijs); }
body.s-coach-c .analyse td.na { color: var(--baan); font-weight: 700; }
body.s-coach-c .analyse td.e { font-size: 13px; font-weight: 500; font-stretch: 100%; }
body.s-coach-c .tarieven { list-style: none; margin: 0; padding: 0; max-width: 980px; }
body.s-coach-c .tarieven li { display: flex; align-items: baseline; gap: 16px; padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .35); }
body.s-coach-c .tarieven li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .35); }
body.s-coach-c .t-wat { display: flex; flex-direction: column; }
body.s-coach-c .t-wat b { font-family: var(--disp); font-size: 21px; font-weight: 600; font-stretch: 100%; }
body.s-coach-c .t-wat small { font-size: 14.5px; opacity: .9; }
body.s-coach-c .t-stip { flex: 1; border-bottom: 2px dotted rgba(255, 255, 255, .5); transform: translateY(-6px); min-width: 20px; }
body.s-coach-c .t-prijs { font-family: var(--disp); font-size: 22px; font-weight: 600; font-stretch: 100%; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ── Groepen en prijzen ───────────────────────────────────────── */
body.s-coach-c .v-feit { font-size: 16px; color: var(--grijs); flex: 1; }
body.s-coach-c .prijsbanen { list-style: none; margin: 0; padding: 0; background: var(--baan); color: #fff; }
body.s-coach-c .pb { display: grid; grid-template-columns: 72px minmax(0, 1.1fr) minmax(0, 1.3fr) minmax(0, 1fr) 170px; align-items: center; gap: 22px;
  padding: 22px 26px 22px 0; border-top: 3px solid rgba(255, 255, 255, .92); }
body.s-coach-c .pb:last-child { border-bottom: 3px solid rgba(255, 255, 255, .92); }
body.s-coach-c .pb-nr { font-family: var(--disp); font-size: 54px; font-weight: 300; line-height: 1; text-align: center; }
body.s-coach-c .pb h3 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1; }
body.s-coach-c .pb-groep { margin: 6px 0 0; font-size: 12px; font-weight: 700; font-stretch: 120%; letter-spacing: .14em; text-transform: uppercase; color: var(--neon); }
body.s-coach-c .pb-info { margin: 0; display: grid; gap: 6px; font-size: 15px; }
body.s-coach-c .pb-info div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 10px; }
body.s-coach-c .pb-info dt { font-size: 11px; font-weight: 700; font-stretch: 118%; letter-spacing: .12em; text-transform: uppercase; opacity: .8; padding-top: 3px; }
body.s-coach-c .pb-info dd { margin: 0; font-weight: 600; }
body.s-coach-c .pb-tempo p { margin: 0 0 8px; font-family: var(--disp); font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.s-coach-c .pb-tempo small { font-size: 12px; opacity: .8; }
body.s-coach-c .pb-schaal { position: relative; display: block; height: 10px; background: rgba(255, 255, 255, .18); }
body.s-coach-c .pb-schaal i { position: absolute; top: 0; bottom: 0; background: var(--neon); }
body.s-coach-c .pb-prijs { margin: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right; line-height: 1.1; }
body.s-coach-c .pb-prijs b { font-family: var(--disp); font-size: 38px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.s-coach-c .pb-prijs small { font-size: 13px; opacity: .9; margin-top: 4px; }
body.s-coach-c .pb-as { display: flex; justify-content: flex-end; gap: 0; margin: 10px 0 0; font-size: 11.5px; font-weight: 700; font-stretch: 120%;
  letter-spacing: .14em; text-transform: uppercase; color: var(--grijs); }
body.s-coach-c .pb-as span + span::before { content: " \2192  "; }
body.s-coach-c .los-wrap { margin-top: clamp(40px, 5vw, 64px); }
body.s-coach-c .los-kop { font-size: 26px; margin-bottom: 18px; }
body.s-coach-c .los { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--asfalt); }
body.s-coach-c .los li { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 18px 22px 18px 0; }
body.s-coach-c .los li + li { padding-left: 22px; border-left: 1px solid var(--lijn); }
body.s-coach-c .los-wat { display: flex; flex-direction: column; }
body.s-coach-c .los-wat b { font-family: var(--disp); font-size: 21px; font-weight: 600; }
body.s-coach-c .los-wat small, body.s-coach-c .los-prijs small { font-size: 14px; color: var(--grijs); }
body.s-coach-c .los-prijs { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
body.s-coach-c .los-prijs b { font-family: var(--disp); font-size: 26px; font-weight: 600; color: var(--baan); white-space: nowrap; }
body.s-coach-c .la { display: grid; gap: clamp(32px, 4vw, 48px); }
body.s-coach-c .la .feiten { margin: 0; max-width: 760px; }
body.s-coach-c .reken { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
body.s-coach-c .donker .dl-kop { color: var(--grijs-d); }
body.s-coach-c .rk { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
body.s-coach-c .rk li { display: grid; grid-template-columns: 200px minmax(0, 1fr) 80px; align-items: center; gap: 16px; }
body.s-coach-c .rk-wat { display: flex; flex-direction: column; line-height: 1.25; }
body.s-coach-c .rk-wat b { font-weight: 700; }
body.s-coach-c .rk-wat small { font-size: 13px; color: var(--grijs-d); font-variant-numeric: tabular-nums; }
body.s-coach-c .rk-balk { display: block; height: 22px; background: var(--asfalt3); }
body.s-coach-c .rk-balk i { display: block; height: 100%; background: var(--neon); }
body.s-coach-c .rk li:last-child .rk-balk i { background: var(--krijt3); }
body.s-coach-c .rk-bedrag { font-family: var(--disp); font-size: 22px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
body.s-coach-c .bonnetje { background: var(--krijt); color: var(--asfalt); padding: 26px 26px 22px; border-top: 10px solid var(--neon); font-variant-numeric: tabular-nums; }
body.s-coach-c .bonnetje .dl-kop { color: var(--grijs); margin-bottom: 12px; }
body.s-coach-c .bonnetje ul { list-style: none; margin: 0; padding: 0; }
body.s-coach-c .bonnetje li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 14px; padding: 12px 0; border-top: 1px dashed rgba(22, 24, 26, .3); }
body.s-coach-c .bonnetje li span { font-weight: 600; }
body.s-coach-c .bonnetje li small { grid-column: 1; font-size: 13px; color: var(--grijs); }
body.s-coach-c .bonnetje li b { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-family: var(--disp); font-size: 24px; font-weight: 600; }
body.s-coach-c .bonnetje li:nth-child(3) b { color: var(--baan); }
body.s-coach-c .bonnetje li.vergelijk { border-top: 2px solid var(--asfalt); margin-top: 6px; }
body.s-coach-c .bonnetje li.vergelijk b { color: var(--grijs); text-decoration: line-through; text-decoration-thickness: 2px; }
body.s-coach-c .bon-noot { margin: 14px 0 0; font-size: 15px; }
body.s-coach-c .inbegrepen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); }
body.s-coach-c .ib h3 { font-size: 24px; padding-bottom: 12px; margin-bottom: 18px; border-bottom: 4px solid var(--asfalt); }
body.s-coach-c .ib + .ib h3 { border-color: var(--baan); }
body.s-coach-c .ib .vinkjes { gap: 12px; }
body.s-coach-c .regels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 56px); max-width: 1100px; }
body.s-coach-c .regels li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 18px 0; border-top: 3px solid rgba(255, 255, 255, .9); }
body.s-coach-c .rg-nr { font-family: var(--disp); font-size: 40px; font-weight: 300; line-height: 1; }
body.s-coach-c .regels b { font-family: var(--disp); display: block; font-size: 21px; font-weight: 600; margin-bottom: 4px; }
body.s-coach-c .regels p { margin: 0; font-size: 16px; color: rgba(255, 255, 255, .92); }
body.s-coach-c .hs-finish .regels + .acts { margin-top: 40px; }
body.s-coach-c .jaar { list-style: none; margin: 34px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
body.s-coach-c .jaar li { padding: 16px 20px 4px 0; border-top: 3px solid #fff; font-size: 15px; line-height: 1.45; }
body.s-coach-c .jaar b { font-family: var(--disp); display: block; font-size: 20px; font-weight: 600; font-stretch: 100%; margin-bottom: 4px; }
body.s-coach-c .finish-tekst.wijd { max-width: none; }
body.s-coach-c .finish-tekst.wijd > p { max-width: 760px; }

/* ── Over ons ─────────────────────────────────────────────────── */
body.s-coach-c .coach { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
body.s-coach-c .coach-foto { margin: 0; }
body.s-coach-c .cf-img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
body.s-coach-c .coach-foto figcaption { font-size: 14px; color: var(--grijs); font-style: italic; margin-top: 10px; }
body.s-coach-c .team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
body.s-coach-c .team li { display: flex; flex-direction: column; gap: 18px; }
body.s-coach-c .ini { font-family: var(--disp); position: relative; display: grid; place-items: center; width: 132px; height: 96px; background: #fff; border: 1px solid var(--lijn);
  font-size: 46px; font-weight: 600; font-stretch: 100%; color: var(--asfalt); box-shadow: 0 2px 0 rgba(22, 24, 26, .1); transform: rotate(-2deg);
  border-top: 14px solid var(--baan); }
body.s-coach-c .ini::before, body.s-coach-c .ini::after { content: ""; position: absolute; top: 4px; width: 7px; height: 7px; border-radius: 50%;
  background: var(--krijt); border: 1.5px solid var(--krijt3); }
body.s-coach-c .ini::before { left: 7px; } body.s-coach-c .ini::after { right: 7px; }
body.s-coach-c .team h3 { font-size: 26px; }
body.s-coach-c .rol { font-size: 13px; font-weight: 700; font-stretch: 115%; letter-spacing: .1em; text-transform: uppercase; color: var(--baan); margin: 4px 0 10px; }
body.s-coach-c .team p:last-child { color: var(--grijs); margin: 0; }
body.s-coach-c .kaart-wrap { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); align-items: start; }
body.s-coach-c .kaart { margin: 0; }
body.s-coach-c .kaart svg { width: 100%; height: auto; display: block; }
body.s-coach-c .kaart figcaption { font-size: 15px; margin-top: 14px; color: var(--grijs-d); max-width: 44em; }
body.s-coach-c .kaart figcaption b { display: block; color: var(--krijt); font-size: 17px; }
body.s-coach-c .hs-finish .kaart figcaption { color: rgba(255, 255, 255, .92); }
body.s-coach-c .hs-finish .kaart figcaption b { color: #fff; }
body.s-coach-c .k-park { fill: #26332b; }
body.s-coach-c .k-boom circle { fill: #33473a; }
body.s-coach-c .k-water { fill: #2f4a58; }
body.s-coach-c .k-pad { stroke: #4b5a50; stroke-width: 10; fill: none; stroke-linecap: round; }
body.s-coach-c .k-veld { fill: #2f4236; stroke: #4b5a50; stroke-width: 2; stroke-dasharray: 5 5; }
body.s-coach-c .k-route { fill: none; stroke: var(--baan2); stroke-width: 14; }
body.s-coach-c .k-route-l { fill: none; stroke: #fff; stroke-width: 1.6; stroke-dasharray: 8 8; opacity: .8; }
body.s-coach-c .kp rect { fill: #fff; stroke: var(--asfalt); stroke-width: 1.5; }
body.s-coach-c .kp text { font: 800 12px "Archivo Tempo", sans-serif; text-anchor: middle; fill: var(--asfalt); font-variant-numeric: tabular-nums; }
body.s-coach-c .k-start circle { fill: var(--neon); }
body.s-coach-c .k-start .k-dot { fill: var(--asfalt); }
body.s-coach-c .k-label { font: 600 13px "Archivo Tempo", sans-serif; fill: #c5ccc6; text-anchor: middle; letter-spacing: .04em; }
body.s-coach-c .k-label.sterk { fill: #fff; font-weight: 800; font-size: 14px; }
body.s-coach-c .k-label.klein { font-size: 11px; fill: #9aa49d; }
body.s-coach-c .stappen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: s; }
body.s-coach-c .stappen li { padding: 0 26px 0 0; position: relative; }
body.s-coach-c .stappen li::before { content: ""; display: block; height: 4px; background: var(--asfalt); margin: 0 0 22px 0; }
body.s-coach-c .stappen li:last-child::before { background: var(--baan); }
body.s-coach-c .st-nr { font-family: var(--disp); position: absolute; top: -18px; left: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--krijt); border: 3px solid var(--asfalt);
  display: grid; place-items: center; font-weight: 600; font-stretch: 100%; font-size: 17px; }
body.s-coach-c .stappen li:last-child .st-nr { border-color: var(--baan); background: var(--baan); color: #fff; }
body.s-coach-c .stappen h3 { font-size: 23px; margin: 30px 0 10px; }
body.s-coach-c .stappen p { color: var(--grijs); margin: 0; }

/* ── Contact ──────────────────────────────────────────────────── */
body.s-coach-c .contact-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
body.s-coach-c .form fieldset { border: 0; margin: 0 0 30px; padding: 0; min-width: 0; }
body.s-coach-c .form legend { font-size: 12px; font-weight: 700; font-stretch: 120%; letter-spacing: .15em; text-transform: uppercase; color: var(--grijs); margin-bottom: 12px; padding: 0; }
body.s-coach-c .keuzes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.s-coach-c .keuzes.drie { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.s-coach-c .keus { position: relative; cursor: pointer; }
body.s-coach-c .keus input { position: absolute; opacity: 0; pointer-events: none; }
body.s-coach-c .keus span { display: flex; flex-direction: column; height: 100%; padding: 14px 14px 12px; border: 2px solid var(--krijt3); background: #fff; transition: border-color .15s; }
body.s-coach-c .keus b { font-family: var(--disp); font-size: 20px; font-weight: 600; font-stretch: 100%; line-height: 1.1; }
body.s-coach-c .keus small { font-size: 13px; color: var(--grijs); font-variant-numeric: tabular-nums; margin-top: 2px; }
body.s-coach-c .keus input:checked + span { border-color: var(--baan); box-shadow: inset 0 -5px 0 var(--baan); }
body.s-coach-c .keus input:focus-visible + span { outline: 3px solid var(--asfalt); outline-offset: 2px; }
body.s-coach-c .velden { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; margin-bottom: 30px; }
body.s-coach-c .velden label { display: flex; flex-direction: column; gap: 6px; }
body.s-coach-c .velden label.breed { grid-column: 1 / -1; }
body.s-coach-c .velden label > span { font-size: 14px; font-weight: 700; }
body.s-coach-c .velden small { font-weight: 400; color: var(--grijs); }
body.s-coach-c .velden input, body.s-coach-c .velden textarea { font: inherit; font-size: 17px; padding: 12px 2px; border: 0; border-bottom: 2px solid var(--asfalt);
  background: transparent; color: var(--asfalt); border-radius: 0; width: 100%; }
body.s-coach-c .velden textarea { border: 2px solid var(--asfalt); padding: 12px; resize: vertical; background: #fff; }
body.s-coach-c .velden input:focus, body.s-coach-c .velden textarea:focus { outline: none; border-color: var(--baan); }
body.s-coach-c .form-noot { font-size: 13.5px; color: var(--grijs); margin: 14px 0 0; }
body.s-coach-c .praktisch { background: var(--asfalt); color: var(--krijt); padding: clamp(24px, 3vw, 36px); border-left: 6px solid var(--neon); }
body.s-coach-c .praktisch h3 { font-size: 21px; margin: 0 0 4px; }
body.s-coach-c .praktisch h3 + * { margin-bottom: 28px; }
body.s-coach-c .praktisch .feiten { margin-top: 10px; }
body.s-coach-c .praktisch .feiten > div { grid-template-columns: 1fr; gap: 2px; border-color: var(--lijn-d); }
body.s-coach-c .praktisch .feiten dt { color: var(--grijs-d); }
body.s-coach-c .praktisch .vinkjes { margin-top: 12px; }
body.s-coach-c .praktisch .vinkjes li::before { background: var(--neon); }
body.s-coach-c .direct { display: grid; gap: 10px; margin: 12px 0 0; }
body.s-coach-c .direct a, body.s-coach-c .direct .adres { display: flex; gap: 12px; align-items: center; text-decoration: none; font-weight: 600; }
body.s-coach-c .direct a:hover { color: var(--neon); }
body.s-coach-c .vragen { max-width: 980px; border-top: 1px solid var(--lijn-d); }
body.s-coach-c .vragen details { border-bottom: 1px solid var(--lijn-d); }
body.s-coach-c .vragen summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0;
  font-size: clamp(19px, 1.8vw, 24px); font-weight: 700; font-stretch: 90%; }
body.s-coach-c .vragen summary::-webkit-details-marker { display: none; }
body.s-coach-c .vragen summary i { position: relative; flex: none; width: 22px; height: 22px; }
body.s-coach-c .vragen summary i::before, body.s-coach-c .vragen summary i::after { content: ""; position: absolute; left: 0; top: 10px; width: 22px; height: 2.5px; background: var(--neon); transition: transform .2s; }
body.s-coach-c .vragen summary i::after { transform: rotate(90deg); }
body.s-coach-c .vragen details[open] summary i::after { transform: rotate(0); }
body.s-coach-c .vragen details p { margin: -4px 0 24px; color: var(--grijs-d); max-width: 46em; font-size: 17px; }

/* ── Voet: de atletiekbaan ─────────────────────────────────────── */
body.s-coach-c .voet { background: var(--asfalt); color: var(--krijt); }
body.s-coach-c .voet-top { padding: clamp(64px, 8vw, 120px) var(--rand) clamp(48px, 6vw, 80px); }
body.s-coach-c .voet-in { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; align-items: end; }
body.s-coach-c .voet-groot { font-family: var(--disp); margin: 0; font-size: clamp(46px, 7vw, 112px); line-height: .88; font-weight: 600; font-stretch: 100%; }
body.s-coach-c .voet-groot em { color: var(--neon); font-style: normal; font-weight: 300; }
body.s-coach-c .voet-acties p { margin: 16px 0 0; color: var(--grijs-d); font-size: 15px; }
body.s-coach-c .banen { background: var(--baan); color: #fff; }
body.s-coach-c .baan { display: grid; grid-template-columns: 110px minmax(0, 1fr); border-top: 3px solid rgba(255, 255, 255, .92);
  max-width: none; padding: 0 var(--rand); }
body.s-coach-c .baan-laatst { border-bottom: 3px solid rgba(255, 255, 255, .92); }
body.s-coach-c .baan-nr { font-family: var(--disp); font-size: 54px; font-weight: 300; font-stretch: 100%; line-height: 1; padding: 14px 0 10px; color: #fff; opacity: .95;
  display: flex; align-items: center; }
body.s-coach-c .baan-in { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: center; gap: 20px; padding: 18px 0; max-width: calc(var(--max) - 110px); }
body.s-coach-c .baan-label { font-size: 12px; font-weight: 700; font-stretch: 122%; letter-spacing: .16em; text-transform: uppercase; }
body.s-coach-c .baan-links, body.s-coach-c .baan-tijden, body.s-coach-c .baan-contact { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; font-weight: 600; }
body.s-coach-c .baan-links a, body.s-coach-c .baan-contact a { text-decoration: none; border-bottom: 1.5px solid rgba(255, 255, 255, .5); }
body.s-coach-c .baan-links a:hover, body.s-coach-c .baan-contact a:hover { border-color: #fff; }
body.s-coach-c .baan-tijden b { font-weight: 800; margin-right: 4px; }
body.s-coach-c .baan-sgs { margin: 0; font-size: 14px; }
body.s-coach-c .baan-sgs a { color: #fff; }

/* ── Smaller ──────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  body.s-coach-c .nav ul { gap: 20px; }
  body.s-coach-c .nav { gap: 18px; }
  body.s-coach-c .rijen a { grid-template-columns: 44px minmax(0, 1fr) 150px 24px; }
  body.s-coach-c .r-kort { display: none; }
}
@media (max-width: 960px) {
  body.s-coach-c .menu-knop { display: flex; align-items: center; gap: 10px; margin-left: auto; cursor: pointer; flex-direction: row; position: relative; z-index: 3;
    padding: 10px 14px; border: 1.5px solid rgba(255, 255, 255, .6); }
  body.s-coach-c .menu-knop span { display: block; width: 18px; height: 2px; background: currentColor; box-shadow: 0 -6px 0 currentColor; margin-top: 6px; }
  body.s-coach-c .menu-knop span + span { display: none; }
  body.s-coach-c .menu-knop em { font-style: normal; font-weight: 700; font-size: 13px; font-stretch: 115%; letter-spacing: .12em; text-transform: uppercase; margin-left: 4px; }
  body.s-coach-c .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0;
    background: var(--asfalt); padding: 8px var(--rand) 26px; border-top: 4px solid var(--neon); }
  body.s-coach-c .menu-toggle:checked ~ .nav { display: flex; }
  body.s-coach-c .menu-toggle:checked ~ .menu-knop { background: var(--asfalt); border-color: var(--neon); }
  body.s-coach-c .kop-in { position: relative; }
  body.s-coach-c .nav ul { flex-direction: column; gap: 0; margin: 0 0 18px; }
  body.s-coach-c .nav ul a { font-family: var(--disp); display: block; padding: 14px 0; font-size: 26px; font-weight: 600; font-stretch: 100%; border-bottom: 1px solid var(--lijn-d); text-shadow: none; }
  body.s-coach-c .nav ul a[aria-current] { color: var(--neon); border-bottom-color: var(--lijn-d); }
  body.s-coach-c .nav-site { align-self: flex-start; margin-bottom: 14px; }
  body.s-coach-c .nav-cta { align-self: flex-start; }
  body.s-coach-c .opening-in, body.s-coach-c .opening.sub .opening-in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "tag" "h1" "rechts" "volgende"; }
  body.s-coach-c .training-wrap, body.s-coach-c .finish, body.s-coach-c .dienst, body.s-coach-c .loper, body.s-coach-c .coach,
  body.s-coach-c .kaart-wrap, body.s-coach-c .contact-grid, body.s-coach-c .voet-in { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .verhalen, body.s-coach-c .team, body.s-coach-c .reken { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .pb { grid-template-columns: 60px minmax(0, 1fr) 150px; row-gap: 14px; }
  body.s-coach-c .pb-nr { grid-row: span 3; align-self: start; }
  body.s-coach-c .pb-info, body.s-coach-c .pb-tempo { grid-column: 2 / -1; }
  body.s-coach-c .pb-prijs { grid-column: 3; grid-row: 1; }
  body.s-coach-c .los { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .los li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--lijn); }
  body.s-coach-c .jaar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-coach-c .stappen { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  body.s-coach-c .groepen { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body.s-coach-c .groep, body.s-coach-c .groep:first-child { padding: 0 0 0 18px; border-left: 4px solid var(--krijt3); }
  body.s-coach-c .groep.g1 { border-left-color: #6f97d6; } body.s-coach-c .groep.g2 { border-left-color: var(--baan); }
  body.s-coach-c .groep.g0 { border-left-color: var(--baan-licht); }
}
@media (max-width: 680px) {
  body.s-coach-c { font-size: 16px; --gutter: 0px; }
  body.s-coach-c .kop-in { padding: 14px var(--rand); gap: 12px; }
  body.s-coach-c .logo-tekst b { font-size: 25px; }
  body.s-coach-c .logo .mark { width: 38px; height: 23px; }
  body.s-coach-c .logo-tekst small { font-size: 9px; letter-spacing: .05em; }
  body.s-coach-c .logo { gap: 9px; min-width: 0; flex: 0 1 auto; }
  body.s-coach-c .menu-knop em { font-size: 12px; letter-spacing: .08em; }
  body.s-coach-c .menu-knop { padding: 9px 12px; }
  body.s-coach-c .foto-naast { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.s-coach-c .fn-img { aspect-ratio: 4 / 3; }
  body.s-coach-c .strook { padding: 92px 0 0; }
  body.s-coach-c .strook-scroll { overflow-x: auto; scrollbar-width: none; padding: 0 var(--rand); scroll-padding: 0 var(--rand); }
  body.s-coach-c .strook-scroll::-webkit-scrollbar { display: none; }
  body.s-coach-c .strook-baan { width: 860px; }
  body.s-coach-c .strook-sub .strook-baan { width: 640px; }
  body.s-coach-c .strook-rail { height: 380px; padding-top: 58px; }
  body.s-coach-c .strook-sub .strook-rail { height: 300px; }
  body.s-coach-c .split-tag b { font-size: 22px; }
  body.s-coach-c .strook-onder { padding: 8px var(--rand) 22px; flex-direction: column; gap: 8px; }
  body.s-coach-c .strook-onder .rechts { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
  body.s-coach-c .strook-onder .veeg { display: inline-flex; align-items: center; gap: 6px; color: var(--neon); }
  body.s-coach-c .strook-onder .veeg .pijl { width: 14px; height: 14px; }
  body.s-coach-c .opening h1 { font-size: clamp(46px, 15vw, 72px); }
  body.s-coach-c .opening.sub h1 { font-size: clamp(44px, 13.5vw, 66px); }
  body.s-coach-c .route::before { left: calc(var(--rand) + 6px); width: 3px; }
  body.s-coach-c .hs-in { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .paal { position: relative; top: 0; flex-direction: row; align-items: center; margin-bottom: 22px; }
  body.s-coach-c .bord { width: auto; flex-direction: row; gap: 8px; padding: 4px 12px; border-top-width: 2px; border-left: 8px solid var(--baan); }
  body.s-coach-c .bord b { font-size: 26px; margin: 0; }
  body.s-coach-c .hs-finish .bord { border-left-color: var(--asfalt); }
  body.s-coach-c .stok { display: none; }
  body.s-coach-c .hs { padding-top: 64px; padding-bottom: 64px; }
  body.s-coach-c .hs-body { padding-left: 22px; }
  body.s-coach-c .hs-kop h2 { font-size: clamp(34px, 10vw, 46px); }
  body.s-coach-c .hs-kop .lead { font-size: 17px; }
  body.s-coach-c .schaal-baan { height: 56px; }
  body.s-coach-c .band { font-size: 15px; padding: 0 8px; }
  body.s-coach-c .schaal-ticks { font-size: 11px; }
  body.s-coach-c .schema li, body.s-coach-c .schema.compact li { grid-template-columns: 62px minmax(0, 1fr); gap: 4px 10px; }
  body.s-coach-c .schema .wat { grid-column: 2; font-size: 12.5px; }
  body.s-coach-c .schema .wk { font-size: 10.5px; letter-spacing: .06em; white-space: nowrap; }
  body.s-coach-c .legenda { margin-left: 0; }
  body.s-coach-c .tb-rij { flex-direction: column; gap: 18px; }
  body.s-coach-c .tb { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; }
  body.s-coach-c .tb::before { grid-row: 1 / span 4; width: 6px; height: auto; margin: 0; justify-self: start; }
  body.s-coach-c .tb > * { grid-column: 2; }
  body.s-coach-c .rijen a { grid-template-columns: minmax(0, 1fr) 24px; gap: 4px 12px; padding: 20px 0; }
  body.s-coach-c .r-nr { grid-column: 1; }
  body.s-coach-c .r-titel { grid-column: 1; font-size: 30px; }
  body.s-coach-c .r-prijs { grid-column: 1; text-align: left; color: var(--grijs); font-weight: 600; }
  body.s-coach-c .rijen a .pijl { grid-column: 2; grid-row: 1 / span 3; }
  body.s-coach-c .rijen a:hover { padding-left: 0; }
  body.s-coach-c .feiten > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  body.s-coach-c .stappen { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .keuzes, body.s-coach-c .keuzes.drie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-coach-c .velden { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .duurloop ol { height: 190px; gap: 2px; }
  body.s-coach-c .duurloop .kol b { display: none; }
  body.s-coach-c .duurloop li.race .kol b { display: block; right: 0; left: auto; transform: none; }
  body.s-coach-c .analyse td { font-size: 18px; }
  body.s-coach-c .analyse td.e { display: none; }
  body.s-coach-c .pb { grid-template-columns: 40px minmax(0, 1fr); padding-right: 16px; gap: 12px; }
  body.s-coach-c .pb-nr { font-size: 36px; grid-row: span 4; }
  body.s-coach-c .pb-prijs { grid-column: 2; grid-row: auto; align-items: flex-start; text-align: left; flex-direction: row; align-items: baseline; gap: 10px; flex-wrap: wrap; }
  body.s-coach-c .pb-prijs b { font-size: 32px; }
  body.s-coach-c .pb-info div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body.s-coach-c .pb-as { justify-content: flex-start; }
  body.s-coach-c .rk li { grid-template-columns: minmax(0, 1fr) 70px; gap: 6px 12px; }
  body.s-coach-c .rk-balk { grid-column: 1 / -1; grid-row: 2; }
  body.s-coach-c .bonnetje { padding: 20px 18px; }
  body.s-coach-c .inbegrepen, body.s-coach-c .regels { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .bf-img { aspect-ratio: 4 / 3; }
  body.s-coach-c .jaar { grid-template-columns: minmax(0, 1fr); }
  body.s-coach-c .tarieven li { flex-wrap: wrap; gap: 4px 12px; }
  body.s-coach-c .t-stip { display: none; }
  body.s-coach-c .t-wat { flex: 1 1 100%; }
  body.s-coach-c .baan { grid-template-columns: 52px minmax(0, 1fr); }
  body.s-coach-c .baan-nr { font-size: 36px; }
  body.s-coach-c .baan-in { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  body.s-coach-c .knop { padding: 15px 34px 15px 20px; font-size: 15px; }
  body.s-coach-c .volgende { padding: 20px; }
  body.s-coach-c .ini { width: 112px; height: 82px; font-size: 38px; }
}
