/* Podotherapie Stap voor Stap (fysio d): N3 zijbalk als looppad · H2 split 50/50 · R4 hoofdstukken als fasen van een stap.
   Nachtblauw en kurk uit de zolenwerkplaats, drukmeting als stippenraster, koraal alleen voor de drukpiek. */

@font-face { font-family: "SVS Display"; font-weight: 400 800; font-display: swap; src: url("../../fonts/WixMadeforDisplay-Variable-svs.woff2") format("woff2"); }
@font-face { font-family: "SVS Text"; font-weight: 400 800; font-display: swap; src: url("../../fonts/WixMadeforText-Variable-svs.woff2") format("woff2"); }
@font-face { font-family: "SVS Text"; font-weight: 400 800; font-style: italic; font-display: swap; src: url("../../fonts/WixMadeforText-VariableItalic-svs.woff2") format("woff2"); }
@font-face { font-family: "SVS Mono"; font-weight: 300 700; font-display: swap; src: url("../../fonts/SplineSansMono-Variable-svs.woff2") format("woff2"); }

body.s-fysio-d {
  --papier: #f5f1ea; --papier2: #ece5d9; --wit: #fffdf9; --inkt: #18223a; --nacht: #111a2d; --tekst: #283044; --grijs: #596174;
  --kurk: #b98a5a; --kurk-d: #87582c; --kurk-l: #e4d0b6; --piek: #d0533a; --eva: #e4e8ee; --lijn: #d9d0c2; --licht: #ece6dc;
  --disp: "SVS Display", "Instrument Sans", system-ui, sans-serif; --txt: "SVS Text", "Instrument Sans", system-ui, sans-serif;
  --mono: "SVS Mono", "DM Mono", ui-monospace, monospace; --zb: 292px;
  --a: #18223a; --a2: #b98a5a; --bg2: #ece5d9;
  background: var(--papier); color: var(--tekst); font: 400 18px/1.65 var(--txt);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
body.s-fysio-d a { color: inherit; }
body.s-fysio-d h1, body.s-fysio-d h2, body.s-fysio-d h3 { font-family: var(--disp); color: var(--inkt); margin: 0; text-wrap: balance; }
body.s-fysio-d em { font-style: normal; color: var(--kurk-d); }
body.s-fysio-d p { margin: 0 0 1em; }
body.s-fysio-d img.hero-foto, body.s-fysio-d img.f-sk, body.s-fysio-d img.f-wp, body.s-fysio-d img.f-dr, body.s-fysio-d img.f-over { width: 100%; height: 100%; object-fit: cover; display: block; }
body.s-fysio-d .lead { font-size: 21px; line-height: 1.55; color: var(--tekst); }
body.s-fysio-d .lead.smal { max-width: 40em; }
body.s-fysio-d .klein { font-size: 15px; color: var(--grijs); }
body.s-fysio-d .mono-noot { font: 400 12.5px/1.5 var(--mono); letter-spacing: .02em; color: var(--grijs); margin-top: 14px; }

/* ── Knoppen en links: een knop staat op een kurken zool en zakt in als je erop stapt ── */
body.s-fysio-d .knop { display: inline-flex; align-items: center; gap: 14px; background: var(--inkt); color: #fff; text-decoration: none;
  font: 600 17px/1 var(--disp); padding: 17px 22px 17px 26px; border-radius: 999px; border: 0; cursor: pointer;
  box-shadow: 0 5px 0 var(--kurk); transition: transform .15s ease, box-shadow .15s ease; margin-bottom: 5px; }
body.s-fysio-d .knop .pijl { width: 20px; height: 20px; transition: transform .2s ease; }
body.s-fysio-d .knop:hover { transform: translateY(3px); box-shadow: 0 2px 0 var(--kurk); }
body.s-fysio-d .knop:hover .pijl { transform: translateX(3px); }
body.s-fysio-d .knop-licht { background: var(--papier); color: var(--inkt); }
body.s-fysio-d .knop-rand { background: transparent; color: var(--inkt); box-shadow: inset 0 0 0 1.5px var(--inkt), 0 5px 0 var(--kurk-l); }
body.s-fysio-d .knop-rand:hover { box-shadow: inset 0 0 0 1.5px var(--inkt), 0 2px 0 var(--kurk-l); }
body.s-fysio-d .knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 30px; }
body.s-fysio-d .link { font: 600 17px/1.3 var(--disp); color: var(--inkt); text-decoration: none; border-bottom: 2px solid var(--kurk); padding-bottom: 3px; }
body.s-fysio-d .link:hover { border-color: var(--piek); }
body.s-fysio-d .link::after { content: " →"; color: var(--kurk-d); }

/* stippenlijst: drie stipjes die oplopen, als drukwaarden op de meetplaat */
body.s-fysio-d .sl { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
body.s-fysio-d .sl li { position: relative; padding-left: 34px; }
body.s-fysio-d .sl li::before { content: ""; position: absolute; left: 0; top: .62em; width: 22px; height: 10px;
  background: radial-gradient(circle, var(--kurk) 1.6px, transparent 2.2px) 0 50% / 6px 10px no-repeat,
              radial-gradient(circle, var(--inkt) 2.6px, transparent 3.2px) 6px 50% / 8px 10px no-repeat,
              radial-gradient(circle, var(--piek) 3.6px, transparent 4.2px) 14px 50% / 10px 10px no-repeat; }

/* stippen van de drukmeting */
body.s-fysio-d .p1 { fill: var(--kurk); opacity: .55; }
body.s-fysio-d .p2 { fill: var(--inkt); }
body.s-fysio-d .p3 { fill: var(--piek); }
body.s-fysio-d .dp-lijn { stroke: var(--inkt); stroke-width: 1; fill: none; }
body.s-fysio-d .dp-st { stroke-dasharray: 3 4; }
body.s-fysio-d .dp-ring { fill: none; stroke: var(--piek); stroke-width: 1.6; }
body.s-fysio-d .drukplaat text { font-family: var(--mono); fill: var(--inkt); }
body.s-fysio-d .dp-w { font-size: 24px; font-weight: 500; }
body.s-fysio-d .dp-e { font-size: 11px; fill: var(--grijs); }
body.s-fysio-d .dp-k { font-size: 12px; letter-spacing: .08em; }

/* ── Zijbalk (N3): logo, looppad met voetstappen, knop ── */
body.s-fysio-d .zb { position: fixed; left: 0; top: 0; bottom: 0; width: var(--zb); z-index: 40; background: var(--inkt); color: #e9e3d8;
  display: flex; flex-direction: column; padding: 58px 30px 26px; overflow-y: auto; scrollbar-width: thin; }
body.s-fysio-d .zb-t { position: absolute; opacity: 0; pointer-events: none; }
body.s-fysio-d .zb-top { display: flex; align-items: center; gap: 12px; }
body.s-fysio-d .zb-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #fff; }
body.s-fysio-d .logo-m { width: 40px; height: 46px; flex: none; }
body.s-fysio-d .lm-r, body.s-fysio-d .lm-l { fill: var(--kurk-l); }
body.s-fysio-d .lm-l { fill: var(--kurk); }
body.s-fysio-d .lm-p { fill: var(--piek); }
body.s-fysio-d .zb-naam b { display: block; font: 650 23px/1 var(--disp); letter-spacing: -.02em; }
body.s-fysio-d .zb-naam small { display: block; font: 400 11px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #aeb5c4; margin-top: 6px; }
body.s-fysio-d .zb-bel, body.s-fysio-d .zb-knop { display: none; }
body.s-fysio-d .zb-nav { display: flex; flex-direction: column; flex: 1; margin-top: 44px; }
body.s-fysio-d .zb-pad { list-style: none; margin: 0; padding: 0 0 0 4px; position: relative; }
body.s-fysio-d .zb-pad::before { content: ""; position: absolute; left: 21px; top: 6px; bottom: 6px; border-left: 1px dashed #ffffff26; }
body.s-fysio-d .zb-pad li a { display: flex; align-items: center; gap: 18px; padding: 7px 0; text-decoration: none; color: #d9d4ca;
  font: 500 18px/1.2 var(--disp); }
body.s-fysio-d .zb-pad .mv { width: 13px; height: 34px; flex: none; fill: #ffffff2e; transition: fill .2s; }
body.s-fysio-d .zb-pad .zb-L .mv { margin-right: 13px; transform: rotate(-7deg); }
body.s-fysio-d .zb-pad .zb-R .mv { margin-left: 13px; transform: rotate(7deg); }
body.s-fysio-d .zb-pad li a:hover { color: #fff; }
body.s-fysio-d .zb-pad li a:hover .mv { fill: var(--kurk); }
body.s-fysio-d .zb-pad li.is-hier a { color: #fff; font-weight: 650; }
body.s-fysio-d .zb-pad li.is-hier .mv { fill: var(--piek); }
body.s-fysio-d .zb-site { margin: 22px 0 0 0; align-self: flex-start; font: 500 14px/1 var(--mono); color: var(--kurk-l); text-decoration: none;
  border: 1px solid #ffffff38; border-radius: 999px; padding: 9px 14px; }
body.s-fysio-d .zb-site::before { content: "i"; display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%;
  background: var(--kurk-l); color: var(--inkt); font: 700 11px/1 var(--disp); margin-right: 8px; }
body.s-fysio-d .zb-site:hover, body.s-fysio-d .zb-site.is-hier { border-color: var(--kurk); color: #fff; }
body.s-fysio-d .zb-cta { margin-top: auto; padding-top: 34px; }
body.s-fysio-d .zb .knop { background: var(--papier); color: var(--inkt); width: 100%; justify-content: space-between; font-size: 16px; }
body.s-fysio-d .zb-tel { display: block; margin-top: 18px; font: 600 22px/1 var(--disp); color: #fff; text-decoration: none; letter-spacing: -.01em; }
body.s-fysio-d .zb-klein { font-size: 13.5px; line-height: 1.5; color: #b8bfcc; margin: 8px 0 0; }
body.s-fysio-d .zb-adres { font: 400 11px/1.6 var(--mono); color: #9aa2b2; margin: 22px 0 0; padding-top: 16px; border-top: 1px solid #ffffff1a; }

body.s-fysio-d main, body.s-fysio-d .vt { margin-left: var(--zb); }

/* ── Opening (H2): 50/50 ── */
body.s-fysio-d .hero { display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100vh - 36px); }
body.s-fysio-d .hero-tekst { padding: 9vh 56px 64px 64px; display: flex; flex-direction: column; justify-content: center; }
body.s-fysio-d .hero-plek { display: flex; flex-wrap: wrap; gap: 8px 22px; font: 400 12.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--grijs); margin-bottom: 34px; }
body.s-fysio-d .hero-plek span + span::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--kurk); margin: 0 14px 2px -14px; vertical-align: middle; }
@media (max-width: 640px) { body.s-fysio-d .hero-plek span + span { display: none; } }
body.s-fysio-d .hero h1 { font-size: clamp(44px, 4.3vw, 78px); font-weight: 650; line-height: .98; letter-spacing: -.035em; margin-bottom: 30px; }
body.s-fysio-d .hero h1 em { display: block; }
body.s-fysio-d .hero .lead { max-width: 30em; }
body.s-fysio-d .hero-feiten { list-style: none; padding: 34px 0 0; margin: 44px 0 0; border-top: 1px solid var(--lijn); display: grid; gap: 12px; }
body.s-fysio-d .hero-feiten li { display: flex; align-items: center; gap: 14px; font: 500 16px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .hero-feiten .mv { width: 9px; height: 24px; fill: var(--kurk); }
body.s-fysio-d .hero-feiten li:nth-child(even) .mv { transform: translateY(-5px); }
body.s-fysio-d .hero-beeld { position: relative; background: var(--papier2); min-height: 560px; }
body.s-fysio-d .hero-beeld > .hero-foto { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
body.s-fysio-d .meetkaart { position: absolute; left: -44px; bottom: 44px; width: 268px; margin: 0; background: var(--wit); border-radius: 18px;
  padding: 16px 18px 14px; box-shadow: 0 30px 60px -28px #18223a66, 0 0 0 1px #18223a12; }
body.s-fysio-d .meetkaart figcaption { display: flex; justify-content: space-between; font: 400 10.5px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--grijs); }
body.s-fysio-d .meetkaart .drukplaat { display: block; width: 100%; height: auto; margin: 8px 0 4px; }
body.s-fysio-d .meet-r { display: flex; justify-content: space-between; margin: 0; border-top: 1px solid var(--lijn); padding-top: 10px; font: 400 11px/1 var(--mono); color: var(--grijs); }
body.s-fysio-d .meet-r b { font: 500 17px/1 var(--mono); color: var(--inkt); margin-right: 3px; }
body.s-fysio-d .meet-r span:last-child b { color: #b4432c; }

/* ── Hoofdstukken (R4): nummer + voet in de fase van de afwikkeling ── */
body.s-fysio-d .hs { padding: 116px 0 120px; }
body.s-fysio-d .hs-licht { background: var(--wit); }
body.s-fysio-d .hs-in { max-width: 1260px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 196px minmax(0, 1fr); gap: 56px; }
body.s-fysio-d .hs-kant { position: sticky; top: 60px; align-self: start; display: grid; justify-items: start; }
body.s-fysio-d .hs-nr { font: 600 92px/.8 var(--disp); letter-spacing: -.05em; color: var(--kurk); }
body.s-fysio-d .hs-fase { width: 128px; height: auto; margin: 22px 0 10px; overflow: visible; }
body.s-fysio-d .fg { stroke: var(--lijn); stroke-width: 1.5; }
body.s-fysio-d .fp { fill: var(--kurk-l); stroke: var(--inkt); stroke-width: 1.6; stroke-linejoin: round; }
body.s-fysio-d .fc { fill: var(--piek); }
body.s-fysio-d .fcl { stroke: var(--piek); stroke-width: 3; stroke-linecap: round; }
body.s-fysio-d .hs-fase, body.s-fysio-d .fase-k { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 34%); mask-image: linear-gradient(to bottom, transparent 0, #000 34%); }
body.s-fysio-d .hs-fn { font: 500 12px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--inkt); }
body.s-fysio-d .hs-fu { font-size: 14px; color: var(--grijs); margin-top: 4px; }
body.s-fysio-d .hs-t { font-size: clamp(34px, 3.5vw, 56px); font-weight: 620; line-height: 1.02; letter-spacing: -.03em; max-width: 17ch; margin-bottom: 36px; }
body.s-fysio-d .hs-sub { color: var(--grijs); }
body.s-fysio-d .hs-body, body.s-fysio-d .hs-kant { min-width: 0; }
body.s-fysio-d .mono-blok > div { min-width: 0; }
body.s-fysio-d .hs-donker { background: var(--nacht); color: #d9d4ca; }
body.s-fysio-d .hs-donker .hs-t, body.s-fysio-d .hs-donker h3 { color: #fff; }
body.s-fysio-d .hs-donker .lead { color: #e7e2d9; }
body.s-fysio-d .hs-donker .hs-fn { color: #fff; }
body.s-fysio-d .hs-donker .hs-fu, body.s-fysio-d .hs-donker .klein, body.s-fysio-d .hs-donker .mono-noot { color: #a9b0bf; }
body.s-fysio-d .hs-donker .fp { fill: #ffffff14; stroke: #e9e3d8; }
body.s-fysio-d .hs-donker .fg { stroke: #ffffff30; }
body.s-fysio-d .hs-donker .link { color: #fff; }
body.s-fysio-d .twee { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: start; }

/* 01 waar doet het pijn */
body.s-fysio-d .zones { display: grid; grid-template-columns: minmax(180px, 250px) 1fr; gap: 64px; align-items: start; }
body.s-fysio-d .voetkaart { width: 100%; height: auto; }
body.s-fysio-d .vk-v { fill: var(--papier); stroke: var(--inkt); stroke-width: 1.4; }
body.s-fysio-d .vk-z circle { fill: var(--inkt); }
body.s-fysio-d .vk-z .vk-h { fill: #d0533a2e; }
body.s-fysio-d .vk-z text { fill: #fff; font: 600 10px var(--mono); }
body.s-fysio-d .zonelijst { list-style: none; padding: 0; margin: 28px 0; }
body.s-fysio-d .zones > .zonelijst { margin-top: 0; }
body.s-fysio-d .zonelijst li { display: grid; grid-template-columns: 40px minmax(0, 170px) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 15px 0; border-top: 1px solid var(--lijn); }
body.s-fysio-d .zonelijst li:last-child { border-bottom: 1px solid var(--lijn); }
body.s-fysio-d .zonelijst b { font: 600 19px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .zonelijst.kort li { grid-template-columns: 40px 1fr; }
body.s-fysio-d .zn { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--inkt); color: #fff; font: 600 12px/1 var(--mono); transform: translateY(-2px); }
body.s-fysio-d .verder-op { font-size: 16px; color: var(--grijs); border-left: 2px solid var(--kurk); padding-left: 16px; }

/* 02 diensten-index */
body.s-fysio-d .di-lijst { border-top: 1.5px solid var(--inkt); }
body.s-fysio-d .di { display: grid; grid-template-columns: 56px minmax(230px, 1fr) minmax(0, 1.2fr) 150px 26px; gap: 26px; align-items: center; padding: 28px 12px 28px 0;
  border-bottom: 1px solid var(--lijn); text-decoration: none; transition: background .2s, padding .2s; }
body.s-fysio-d .di:hover { background: var(--wit); padding-left: 14px; }
body.s-fysio-d .dg { width: 52px; height: 48px; }
body.s-fysio-d .dg-v { fill: var(--kurk-l); stroke: var(--inkt); stroke-width: 9; }
body.s-fysio-d .dg-l { fill: none; stroke: var(--inkt); stroke-width: 1.5; stroke-linecap: round; }
body.s-fysio-d .dg-p { fill: var(--piek); }
body.s-fysio-d .di-t { font: 620 25px/1.1 var(--disp); color: var(--inkt); letter-spacing: -.02em; }
body.s-fysio-d .di-k { color: var(--grijs); font-size: 16.5px; line-height: 1.5; }
body.s-fysio-d .di-p { font: 400 12.5px/1.45 var(--mono); color: var(--kurk-d); }
body.s-fysio-d .di .pijl, body.s-fysio-d .andere .pijl { width: 24px; height: 24px; color: var(--inkt); transition: transform .2s; }
body.s-fysio-d .di:hover .pijl { transform: translateX(4px); }
body.s-fysio-d .na-lijst { margin-top: 30px; }

/* 03 de meting */
body.s-fysio-d .meting { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 64px; align-items: center; }
body.s-fysio-d .scherm { background: #0a1122; border-radius: 22px; padding: 22px 26px 22px; box-shadow: 0 0 0 1px #ffffff12, 0 40px 80px -40px #000; }
body.s-fysio-d .scherm-kop { display: flex; justify-content: space-between; font: 400 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #8d96aa; margin-bottom: 14px; }
body.s-fysio-d .scherm-kop span:last-child { color: var(--piek); }
body.s-fysio-d .scherm .drukplaat { width: 100%; height: auto; display: block; }
body.s-fysio-d .scherm .p1, body.s-fysio-d .hs-donker .p1 { fill: var(--kurk); opacity: .7; }
body.s-fysio-d .scherm .p2, body.s-fysio-d .hs-donker .p2 { fill: #ece6dc; }
body.s-fysio-d .scherm .drukplaat text { fill: #ece6dc; }
body.s-fysio-d .scherm .dp-e { fill: #8d96aa; }
body.s-fysio-d .scherm .dp-lijn { stroke: #ece6dc80; }
body.s-fysio-d .schaal { display: flex; align-items: center; gap: 12px; margin-top: 14px; font: 400 11px/1 var(--mono); color: #8d96aa; }
body.s-fysio-d .schaal i { flex: 1; height: 10px; background:
  radial-gradient(circle, var(--kurk) 1.5px, transparent 2px) 0 50% / 12px 10px repeat-x; position: relative; }
body.s-fysio-d .schaal i::after { content: ""; position: absolute; right: 0; top: -2px; width: 46%; height: 14px; background:
  radial-gradient(circle, #ece6dc 2.6px, transparent 3.2px) 0 50% / 12px 14px repeat-x; }
body.s-fysio-d .schaal i::before { content: ""; position: absolute; right: -2px; top: -4px; width: 14%; height: 18px; z-index: 1; background:
  radial-gradient(circle, var(--piek) 4px, transparent 4.6px) 0 50% / 12px 18px repeat-x; }
body.s-fysio-d .specs { margin: 28px 0 0; display: grid; gap: 0; }
body.s-fysio-d .specs > div { padding: 16px 0; border-top: 1px solid var(--lijn); display: grid; grid-template-columns: 130px 1fr; gap: 18px; }
body.s-fysio-d .specs dt { font: 620 19px/1.35 var(--disp); color: var(--inkt); }
body.s-fysio-d .specs dd { margin: 0; color: var(--grijs); }
body.s-fysio-d .hs-donker .specs > div { border-color: #ffffff1f; }
body.s-fysio-d .hs-donker .specs dt { color: #fff; }
body.s-fysio-d .hs-donker .specs dd { color: #c3c9d4; }
body.s-fysio-d .specs-2 { grid-template-columns: 1fr 1fr; column-gap: 48px; }
body.s-fysio-d .specs-3 { grid-template-columns: repeat(3, 1fr); column-gap: 40px; }
body.s-fysio-d .specs-2 > div, body.s-fysio-d .specs-3 > div { grid-template-columns: 1fr; gap: 6px; }

/* 04 werkplaats en zool */
body.s-fysio-d .werkplaats { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body.s-fysio-d .wp-foto .ph, body.s-fysio-d .wp-foto img { aspect-ratio: 4 / 5; border-radius: 4px 4px 120px 4px; height: auto; }
body.s-fysio-d .dagen { list-style: none; padding: 0; margin: 30px 0 0; position: relative; }
body.s-fysio-d .dagen::before { content: ""; position: absolute; left: 74px; top: 12px; bottom: 12px; border-left: 1.5px dotted var(--kurk); }
body.s-fysio-d .dagen li { display: grid; grid-template-columns: 62px 1fr; gap: 28px; padding: 9px 0; position: relative; }
body.s-fysio-d .dagen li::after { content: ""; position: absolute; left: 70px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; background: var(--inkt); }
body.s-fysio-d .dagen li:nth-child(5)::after { background: var(--piek); width: 13px; height: 13px; left: 68px; margin-top: -6.5px; }
body.s-fysio-d .dagen b { font: 500 13px/1.6 var(--mono); color: var(--kurk-d); text-align: right; }
body.s-fysio-d .dagen span { font: 500 17px/1.6 var(--disp); color: var(--inkt); }
body.s-fysio-d .lagen-blok { margin-top: 64px; background: var(--papier); border-radius: 22px; padding: 26px 30px; }
body.s-fysio-d .hs-licht .lagen-blok { background: var(--papier); }
body.s-fysio-d .hs:not(.hs-licht) .lagen-blok { background: var(--wit); }
body.s-fysio-d .zool-lagen { width: 100%; max-width: 820px; height: auto; display: block; margin: 0 auto; }
body.s-fysio-d .zl-0 { fill: var(--inkt); }
body.s-fysio-d .zl-stik { fill: none; stroke: var(--kurk); stroke-width: 1.4; stroke-dasharray: 3 3; }
body.s-fysio-d .zl-1 { fill: var(--eva); stroke: #9aa5b5; stroke-width: 1; }
body.s-fysio-d .zl-c { fill: #b8c2cf; stroke: #6f7b8e; stroke-width: 1; }
body.s-fysio-d .zl-c2 { fill: #8d9ab0; }
body.s-fysio-d .zl-schim { fill: none; stroke: #9aa5b5; stroke-width: 1; stroke-dasharray: 4 4; }
body.s-fysio-d .zl-3 { fill: var(--kurk); }
body.s-fysio-d .zl-kurk { fill: var(--kurk-d); opacity: .7; }
body.s-fysio-d .zl-lijn { stroke: var(--inkt); stroke-width: 1; }
body.s-fysio-d .zl-lab circle { fill: var(--inkt); }
body.s-fysio-d .zl-naam { font: 620 17px var(--disp); fill: var(--inkt); }
body.s-fysio-d .zl-nr { font: 500 12px var(--mono); fill: var(--kurk-d); }
body.s-fysio-d .zl-uitleg { font: 400 12.5px var(--txt); fill: var(--grijs); }
body.s-fysio-d .zl-maat { font: 400 11px var(--mono); fill: var(--kurk-d); }

/* 05 kosten */
body.s-fysio-d .kosten { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body.s-fysio-d .prijsblok { margin-bottom: 22px; }
body.s-fysio-d .pr { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 18px 0; border-bottom: 1px dashed var(--lijn); }
body.s-fysio-d .pr:first-child { border-top: 1.5px solid var(--inkt); }
body.s-fysio-d .pr span { font: 500 18px/1.35 var(--disp); color: var(--inkt); }
body.s-fysio-d .pr small { display: block; font: 400 14.5px/1.45 var(--txt); color: var(--grijs); margin-top: 3px; }
body.s-fysio-d .pr b { font: 500 19px/1 var(--mono); color: var(--inkt); white-space: nowrap; }
body.s-fysio-d .vergoed { background: var(--eva); border-radius: 22px; padding: 32px; }
body.s-fysio-d .vergoed h3 { font-size: 26px; font-weight: 620; letter-spacing: -.02em; margin-bottom: 12px; }
body.s-fysio-d .dia { background: var(--inkt); color: #e2ddd4; border-radius: 14px; padding: 18px 20px; margin-top: 18px; font-size: 16.5px; }
body.s-fysio-d .dia b { color: #fff; }
body.s-fysio-d .dia a { color: var(--kurk-l); }

/* persoon */
body.s-fysio-d .persoon { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; background: var(--papier2); }
body.s-fysio-d .ps-foto .ph, body.s-fysio-d .ps-foto img { height: 100%; min-height: 560px; }
body.s-fysio-d .ps-t { padding: 96px 64px; align-self: center; }
body.s-fysio-d .ps-t blockquote { margin: 0 0 30px; font: 560 clamp(28px, 2.6vw, 40px)/1.18 var(--disp); color: var(--inkt); letter-spacing: -.02em; text-indent: -.4em; }
body.s-fysio-d .ps-wie { font-size: 16px; color: var(--grijs); margin-bottom: 26px; }
body.s-fysio-d .ps-wie b { display: block; color: var(--inkt); font: 620 18px/1.4 var(--disp); }

/* slotband */
body.s-fysio-d .band { background: var(--inkt); color: #d9d4ca; padding: 96px 0; }
body.s-fysio-d .band-in { max-width: 1260px; margin: 0 auto; padding: 0 56px; display: grid; grid-template-columns: 196px minmax(0, 1fr); gap: 56px; align-items: center; }
body.s-fysio-d .band-voet { display: flex; gap: 14px; align-items: flex-end; }
body.s-fysio-d .band-voet .drukvoet { width: 64px; height: auto; }
body.s-fysio-d .band-voet .bv-r { transform: translateY(-36px); }
body.s-fysio-d .band .p2 { fill: #ece6dc; }
body.s-fysio-d .band h2 { color: #fff; font-size: clamp(34px, 3.6vw, 56px); font-weight: 620; letter-spacing: -.03em; line-height: 1.02; margin-bottom: 18px; max-width: 18ch; }
body.s-fysio-d .band p { font-size: 19px; max-width: 34em; }
body.s-fysio-d .tel-groot { font: 600 19px/1 var(--disp); color: #fff; text-decoration: none; border-bottom: 2px solid var(--kurk); padding-bottom: 3px; }

/* ── Subpagina's ── */
body.s-fysio-d .sk { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; }
body.s-fysio-d .sk-tekst { padding: 96px 56px 80px 64px; display: flex; flex-direction: column; justify-content: center; }
body.s-fysio-d .kruimel { font: 400 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--grijs); margin-bottom: 30px; }
body.s-fysio-d .kruimel a { text-decoration: none; border-bottom: 1px solid var(--kurk); }
body.s-fysio-d .kruimel i { font-style: normal; color: var(--kurk); margin: 0 4px; }
body.s-fysio-d .sk h1 { font-size: clamp(40px, 3.9vw, 64px); font-weight: 650; line-height: 1; letter-spacing: -.035em; margin-bottom: 26px; }
body.s-fysio-d .sk h1 em { display: block; }
body.s-fysio-d .sk-beeld { position: relative; background: var(--papier2); display: grid; place-items: center; min-height: 420px; }
body.s-fysio-d .sk-beeld > .ph, body.s-fysio-d .sk-beeld > img { position: absolute; inset: 0; width: 100%; height: 100%; }
body.s-fysio-d .sk-prijs { font: 400 13px/1.4 var(--mono); color: var(--kurk-d); letter-spacing: .04em; border-left: 2px solid var(--piek); padding-left: 12px; margin: 6px 0 0; }
body.s-fysio-d .op-pagina { font: 400 11.5px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--grijs); margin: 26px 0 10px; }
body.s-fysio-d .sprong { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--lijn); }
body.s-fysio-d .sprong a { display: flex; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--lijn); text-decoration: none; font: 500 17px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .sprong a::after { content: "↓"; margin-left: auto; color: var(--kurk-d); }
body.s-fysio-d .sprong span { font: 400 12px/1.6 var(--mono); color: var(--kurk-d); }
body.s-fysio-d .sk-meet { background: var(--wit); border-radius: 26px; padding: 32px 34px; width: min(78%, 420px); box-shadow: 0 30px 60px -36px #18223a59; }
body.s-fysio-d .sk-meet .drukplaat { width: 100%; height: auto; display: block; }

body.s-fysio-d .dienst-rij { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body.s-fysio-d .dr-foto .ph, body.s-fysio-d .dr-foto img { aspect-ratio: 4 / 5; height: auto; border-radius: 4px 4px 4px 110px; }
body.s-fysio-d .dr-t .sl { margin: 26px 0; }
body.s-fysio-d .dr-prijs { font: 400 13px/1.4 var(--mono); color: var(--kurk-d); border-left: 2px solid var(--piek); padding-left: 12px; }

body.s-fysio-d .tabel-w { overflow-x: auto; }
body.s-fysio-d .tabel { width: 100%; border-collapse: collapse; min-width: 560px; }
body.s-fysio-d .tabel th, body.s-fysio-d .tabel td { text-align: left; padding: 16px 18px 16px 0; border-bottom: 1px solid var(--lijn); vertical-align: top; }
body.s-fysio-d .tabel thead th { font: 400 11.5px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--grijs); border-bottom: 1.5px solid var(--inkt); }
body.s-fysio-d .tabel tbody th { font: 620 19px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .tabel td:nth-child(2) { font: 400 14px/1.6 var(--mono); color: var(--kurk-d); white-space: nowrap; }
body.s-fysio-d .schoen-blok { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: center; }
body.s-fysio-d .schoen { width: 100%; height: auto; }
body.s-fysio-d .sc-z { fill: var(--kurk); }
body.s-fysio-d .sc-b { fill: var(--wit); stroke: var(--inkt); stroke-width: 2; stroke-linejoin: round; }
body.s-fysio-d .sc-l, body.s-fysio-d .sc-l2 { stroke: var(--inkt); stroke-width: 1.4; fill: none; stroke-linecap: round; }
body.s-fysio-d .sc-p circle { fill: var(--inkt); }
body.s-fysio-d .sc-p text { fill: #fff; font: 600 11px var(--mono); }

body.s-fysio-d .beh { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0; border-top: 1.5px solid var(--inkt); }
body.s-fysio-d .beh li { padding: 22px 22px 22px 0; border-bottom: 1px solid var(--lijn); }
body.s-fysio-d .beh b { display: block; font: 620 20px/1.3 var(--disp); color: var(--inkt); margin-bottom: 6px; }
body.s-fysio-d .beh span { color: var(--grijs); font-size: 16px; }

body.s-fysio-d .loop { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px 56px; align-items: start; }
body.s-fysio-d .loop-rij { grid-column: 1 / -1; }
body.s-fysio-d .hiel { width: 100%; height: auto; }
body.s-fysio-d .hi-r { stroke: var(--grijs); stroke-dasharray: 4 5; stroke-width: 1; }
body.s-fysio-d .hi-b { fill: var(--kurk-l); stroke: var(--inkt); stroke-width: 1.8; }
body.s-fysio-d .hi-a { stroke: var(--piek); stroke-width: 2; }
body.s-fysio-d .hi-boog, body.s-fysio-d .hi-lijn { fill: none; stroke: var(--piek); stroke-width: 1.4; }
body.s-fysio-d .hi-t { font: 500 24px var(--mono); fill: var(--inkt); }
body.s-fysio-d .hi-s { font: 400 11px var(--mono); fill: var(--grijs); }
body.s-fysio-d .loopfasen { list-style: none; padding: 0; margin: 30px 0 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1.5px solid var(--inkt); }
body.s-fysio-d .loopfasen li { padding: 18px 18px 0 0; display: grid; gap: 4px; align-content: start; }
body.s-fysio-d .fase-k { width: 100%; max-width: 130px; height: auto; overflow: visible; }
body.s-fysio-d .loopfasen b { font: 620 16px/1.25 var(--disp); color: var(--inkt); }
body.s-fysio-d .loopfasen span { font: 400 12.5px/1.4 var(--mono); color: var(--kurk-d); }

body.s-fysio-d .mono-blok { display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: 56px; align-items: start; }
body.s-fysio-d .monokaart { width: 100%; height: auto; }
body.s-fysio-d .mf circle { fill: none; stroke: var(--inkt); stroke-width: 1.4; }
body.s-fysio-d .mf-ja .mf-k { fill: var(--inkt); }
body.s-fysio-d .mf-nee circle { stroke: var(--piek); stroke-dasharray: 2.5 2.5; }
body.s-fysio-d .mf-nee .mf-k { fill: none; stroke-dasharray: none; }
body.s-fysio-d .mf-t { font: 500 13px var(--mono); fill: var(--grijs); }
body.s-fysio-d .mf-leg { display: inline-block; width: 12px; height: 12px; border-radius: 50%; vertical-align: -1px; margin: 0 6px 0 14px; }
body.s-fysio-d .mf-leg:first-child { margin-left: 0; }
body.s-fysio-d .mf-leg.ja { background: var(--inkt); }
body.s-fysio-d .mf-leg.nee { border: 1.5px dashed var(--piek); }
body.s-fysio-d .zp-lijst { list-style: none; padding: 0; margin: 32px 0 18px; border-top: 1px solid #ffffff2e; }
body.s-fysio-d .zp { display: grid; grid-template-columns: 70px 78px minmax(0, 1fr) 140px 190px; gap: 20px; align-items: center; padding: 22px 0; border-bottom: 1px solid #ffffff1f; }
body.s-fysio-d .zp-nr { font: 600 46px/1 var(--disp); color: var(--kurk); letter-spacing: -.04em; }
body.s-fysio-d .zp-nr::before { content: "ZP"; font: 400 10px/1 var(--mono); letter-spacing: .1em; display: block; color: #8d96aa; margin-bottom: 4px; }
body.s-fysio-d .zp-s, body.s-fysio-d .zp-f { font: 400 12.5px/1.4 var(--mono); color: #a9b0bf; }
body.s-fysio-d .zp b { font: 560 18px/1.35 var(--disp); color: #fff; }
body.s-fysio-d .zp-v { justify-self: start; font: 500 12px/1 var(--mono); padding: 8px 12px; border-radius: 999px; border: 1px solid #ffffff40; color: #e9e3d8; }
body.s-fysio-d .zp-v.zp-basis { background: #b4432c; border-color: #b4432c; color: #fff; }
body.s-fysio-d .check { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
body.s-fysio-d .check li { padding: 20px 0 22px; border-top: 3px solid var(--inkt); margin-top: 18px; }
body.s-fysio-d .check li:nth-child(-n+3) { margin-top: 0; }
body.s-fysio-d .check b { display: block; font: 620 22px/1.2 var(--disp); color: var(--inkt); margin-bottom: 4px; }
body.s-fysio-d .check span { color: var(--grijs); font-size: 16px; }

body.s-fysio-d .andere-w { background: var(--papier); padding: 70px 56px; }
body.s-fysio-d .andere { max-width: 1148px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.s-fysio-d .andere p { grid-column: 1 / -1; font: 400 11.5px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--grijs); margin: 0 0 6px; }
body.s-fysio-d .andere a { display: grid; grid-template-columns: 52px 1fr 24px; gap: 16px; align-items: center; padding: 18px 20px; background: var(--wit);
  border-radius: 16px; text-decoration: none; font: 620 19px/1.2 var(--disp); color: var(--inkt); box-shadow: 0 4px 0 var(--kurk-l); transition: transform .15s, box-shadow .15s; }
body.s-fysio-d .andere a:hover { transform: translateY(3px); box-shadow: 0 1px 0 var(--kurk-l); }

/* tarieven */
body.s-fysio-d .bon { background: var(--wit); border-radius: 24px; padding: 34px 36px 30px; width: min(80%, 430px); box-shadow: 0 30px 60px -36px #18223a59; }
body.s-fysio-d .bon-k { font: 620 22px/1.2 var(--disp); color: var(--inkt); letter-spacing: -.01em; margin-bottom: 18px; }
body.s-fysio-d .bon-r { display: flex; align-items: baseline; gap: 10px; margin: 0; padding: 7px 0; font-size: 16px; }
body.s-fysio-d .bon-r i { flex: 1; border-bottom: 1.5px dotted var(--kurk); }
body.s-fysio-d .bon-r span:last-child { color: var(--piek); font-weight: 700; }
body.s-fysio-d .bon-t { display: flex; justify-content: space-between; align-items: baseline; margin: 18px 0 0; padding-top: 16px; border-top: 1.5px solid var(--inkt); font: 500 15px var(--mono); }
body.s-fysio-d .bon-t b { font: 650 34px/1 var(--disp); color: var(--inkt); letter-spacing: -.02em; }
body.s-fysio-d .tg { margin-bottom: 46px; }
body.s-fysio-d .tg h3 { font: 400 12px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--kurk-d); padding-bottom: 14px; border-bottom: 1.5px solid var(--inkt); }
body.s-fysio-d .tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(130px, auto); gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--lijn); align-items: baseline; }
body.s-fysio-d .tr-n { font: 600 19px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .tr-w { color: var(--grijs); font-size: 15.5px; }
body.s-fysio-d .tr-p { font: 500 18px/1 var(--mono); color: var(--inkt); text-align: right; white-space: nowrap; }
body.s-fysio-d .pk-rij { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 30px 0 14px; }
body.s-fysio-d .pk { background: var(--wit); border-radius: 20px; padding: 26px 24px 28px; display: grid; gap: 8px; align-content: start; box-shadow: inset 0 0 0 1px var(--lijn); }
body.s-fysio-d .hs-licht .pk { background: var(--papier); }
body.s-fysio-d .pk-b { font: 620 32px/1.1 var(--disp); color: var(--kurk-d); letter-spacing: -.02em; }
body.s-fysio-d .pk b { font: 620 19px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .pk span:last-child { color: var(--grijs); font-size: 15.5px; }
body.s-fysio-d .reken-w { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body.s-fysio-d .reken { background: #0a1122; border-radius: 20px; padding: 26px 28px; }
body.s-fysio-d .rk { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; font-size: 17px; color: #d9d4ca; border-bottom: 1px solid #ffffff1a; }
body.s-fysio-d .rk b { font: 500 19px/1 var(--mono); color: #fff; white-space: nowrap; }
body.s-fysio-d .rk.min b { color: var(--kurk-l); }
body.s-fysio-d .rk.som { border-bottom: 0; border-top: 3px double #ffffff66; margin-top: 4px; }
body.s-fysio-d .rk.som b { font-size: 28px; color: #fff; }

/* werkwijze */
body.s-fysio-d .fasen-kop { list-style: none; margin: 34px 0 0; padding: 0 5%; width: 100%; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; align-items: end; }
body.s-fysio-d .fasen-kop li { display: grid; justify-items: center; gap: 14px; }
body.s-fysio-d .fasen-kop .fase-k { max-width: none; width: 100%; }
body.s-fysio-d .fasen-kop li:nth-child(odd) { transform: translateY(-34px); }
body.s-fysio-d .fasen-kop span { font: 400 10.5px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--grijs); text-align: center; }
body.s-fysio-d .duur { display: inline-block; font: 500 12.5px/1 var(--mono); color: var(--kurk-d); background: var(--papier2); border-radius: 999px; padding: 9px 14px; margin-bottom: 22px; }
body.s-fysio-d .hs-licht .duur { background: var(--papier); }
body.s-fysio-d .mee { margin-top: 30px; max-width: 520px; }
body.s-fysio-d .mee h3, body.s-fysio-d .wennen h3 { font-size: 22px; font-weight: 620; margin-bottom: 16px; }
body.s-fysio-d .meet-mini { margin-top: 30px; background: var(--wit); border-radius: 22px; padding: 26px; max-width: 360px; }
body.s-fysio-d .meet-mini .drukplaat { width: 100%; height: auto; }
body.s-fysio-d .lagen-blok.klein-b { margin-top: 30px; }
body.s-fysio-d .wennen { margin-top: 30px; max-width: 640px; }
body.s-fysio-d .wen-lijst { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 10px; }
body.s-fysio-d .wen-lijst li { display: grid; grid-template-columns: 56px 1fr 96px; gap: 16px; align-items: center; }
body.s-fysio-d .wd { font: 400 12.5px/1 var(--mono); color: var(--grijs); }
body.s-fysio-d .wb { height: 12px; width: calc(var(--u) / 12 * 100%); border-radius: 999px; background: var(--kurk); }
body.s-fysio-d .wen-lijst li:last-child .wb { background: var(--piek); }
body.s-fysio-d .wu { font: 500 13px/1 var(--mono); color: var(--inkt); }

/* vragen */
body.s-fysio-d .vraag-kaart { background: var(--wit); border-radius: 26px; padding: 38px 40px; width: min(80%, 440px); box-shadow: 0 30px 60px -36px #18223a59; }
body.s-fysio-d .vq-v { font: 620 30px/1.12 var(--disp); color: var(--inkt); letter-spacing: -.02em; }
body.s-fysio-d .vq-a { color: var(--grijs); }
body.s-fysio-d .vr-lijst { border-top: 1.5px solid var(--inkt); }
body.s-fysio-d .vr { border-bottom: 1px solid var(--lijn); }
body.s-fysio-d .vr summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 22px 0; font: 600 21px/1.3 var(--disp); color: var(--inkt); }
body.s-fysio-d .vr summary::-webkit-details-marker { display: none; }
body.s-fysio-d .vr summary i { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--inkt); position: relative; transition: transform .2s, background .2s; }
body.s-fysio-d .vr summary i::before, body.s-fysio-d .vr summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); }
body.s-fysio-d .vr summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
body.s-fysio-d .vr[open] summary i { transform: rotate(45deg); background: var(--inkt); color: #fff; }
body.s-fysio-d .vr p { max-width: 42em; padding: 0 60px 14px 0; color: var(--tekst); }

/* over ons */
body.s-fysio-d .cijfers { margin: 0; display: grid; gap: 0; }
body.s-fysio-d .cijfers > div { padding: 18px 0; border-top: 1px solid var(--lijn); }
body.s-fysio-d .cijfers dt { font: 620 46px/1 var(--disp); color: var(--kurk-d); letter-spacing: -.03em; }
body.s-fysio-d .cijfers dd { margin: 6px 0 0; color: var(--grijs); }
body.s-fysio-d .team { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
body.s-fysio-d .tm { display: grid; grid-template-columns: 96px 1fr; gap: 26px; padding: 30px 0; border-top: 1px solid var(--lijn); align-items: start; }
body.s-fysio-d .tm-voet { display: flex; justify-content: center; align-items: flex-start; height: 170px; padding-top: 6px; }
body.s-fysio-d .tm-v { width: calc(76px * var(--s)); height: auto; }
body.s-fysio-d .tm-n { display: block; font: 620 23px/1.2 var(--disp); color: var(--inkt); letter-spacing: -.01em; }
body.s-fysio-d .tm-r { display: block; font: 400 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--kurk-d); margin: 4px 0 12px; }
body.s-fysio-d .tm p { margin: 0; font-size: 16.5px; }
body.s-fysio-d .tm .mono-noot { margin-top: 10px; }
body.s-fysio-d .hs-donker .wp-t p { color: #d9d4ca; }
body.s-fysio-d .hs-donker .sl li::before { background:
  radial-gradient(circle, var(--kurk) 1.6px, transparent 2.2px) 0 50% / 6px 10px no-repeat,
  radial-gradient(circle, #ece6dc 2.6px, transparent 3.2px) 6px 50% / 8px 10px no-repeat,
  radial-gradient(circle, var(--piek) 3.6px, transparent 4.2px) 14px 50% / 10px 10px no-repeat; }
body.s-fysio-d .hs-donker .wp-t .sl { margin-top: 24px; }

/* contact */
body.s-fysio-d .ct-kaart { background: var(--inkt); color: #d9d4ca; border-radius: 26px; padding: 38px 40px; width: min(82%, 440px); }
body.s-fysio-d .ct-k { font: 400 12px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #aeb5c4; }
body.s-fysio-d .ct-tel { display: block; font: 650 44px/1 var(--disp); color: #fff; text-decoration: none; letter-spacing: -.03em; margin: 6px 0 16px; }
body.s-fysio-d .ct-kaart a { color: #fff; }
body.s-fysio-d .tijden { margin: 0; display: grid; }
body.s-fysio-d .tijden > div { display: flex; justify-content: space-between; gap: 18px; padding: 7px 0; border-bottom: 1px solid currentColor; border-color: #ffffff1c; }
body.s-fysio-d .tijden dt { font-weight: 500; }
body.s-fysio-d .tijden dd { margin: 0; font: 400 14.5px/1.6 var(--mono); }
body.s-fysio-d .ct-kaart .tijden { margin-top: 22px; }
body.s-fysio-d .form fieldset { border: 0; padding: 0; margin: 0 0 40px; }
body.s-fysio-d .form legend { display: flex; align-items: center; gap: 14px; font: 620 22px/1.2 var(--disp); color: var(--inkt); margin-bottom: 18px; padding: 0; }
body.s-fysio-d .form legend span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--kurk-l); font: 600 13px/1 var(--mono); color: var(--inkt); }
body.s-fysio-d .kz-rij { display: flex; flex-wrap: wrap; gap: 10px; }
body.s-fysio-d .kz { position: relative; cursor: pointer; }
body.s-fysio-d .kz input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body.s-fysio-d .kz span { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; background: var(--papier);
  box-shadow: inset 0 0 0 1.5px var(--lijn); font: 500 16px/1 var(--disp); color: var(--inkt); transition: background .15s, box-shadow .15s; }
body.s-fysio-d .kz .mv { width: 8px; height: 20px; fill: var(--kurk); }
body.s-fysio-d .kz input:checked + span { background: var(--inkt); color: #fff; box-shadow: 0 4px 0 var(--kurk); }
body.s-fysio-d .kz input:checked + span .mv { fill: var(--piek); }
body.s-fysio-d .kz input:focus-visible + span { outline: 2px solid var(--piek); outline-offset: 2px; }
body.s-fysio-d .velden { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
body.s-fysio-d .veld { display: grid; gap: 8px; }
body.s-fysio-d .veld > span { font: 500 15px/1.2 var(--disp); color: var(--inkt); }
body.s-fysio-d .veld small { color: var(--grijs); font-weight: 400; }
body.s-fysio-d .veld input, body.s-fysio-d .veld textarea { font: 400 17px/1.4 var(--txt); color: var(--tekst); background: var(--papier); border: 0;
  border-bottom: 1.5px solid var(--inkt); border-radius: 10px 10px 0 0; padding: 14px 14px; width: 100%; }
body.s-fysio-d .veld input:focus, body.s-fysio-d .veld textarea:focus { outline: none; border-color: var(--piek); background: #fff; }
body.s-fysio-d .veld-breed { grid-column: 1 / -1; }
body.s-fysio-d .vink { display: flex; gap: 12px; align-items: center; font: 500 16px var(--disp); color: var(--inkt); }
body.s-fysio-d .vink input { width: 20px; height: 20px; accent-color: var(--inkt); }
body.s-fysio-d .form-noot { font: 400 13px/1.5 var(--mono); color: var(--grijs); margin-top: 18px; }
body.s-fysio-d .plattegrond svg { width: 100%; height: auto; border-radius: 20px; display: block; }
body.s-fysio-d .kt-bg { fill: var(--papier2); }
body.s-fysio-d .kt-w { stroke: #fff; stroke-width: 14; fill: none; }
body.s-fysio-d .kt-w2 { stroke: #fff; stroke-width: 22; }
body.s-fysio-d .kt-t { font: 400 10px var(--mono); fill: var(--grijs); letter-spacing: .04em; }
body.s-fysio-d .kt-n { fill: var(--inkt); font-weight: 600; }
body.s-fysio-d .kt-p { fill: var(--inkt); rx: 4; }
body.s-fysio-d .kt-s { fill: var(--piek); }
body.s-fysio-d .kt-park { fill: #fff; stroke: var(--kurk); rx: 4; }
body.s-fysio-d .kt-bus { fill: var(--kurk); }

/* ── Voet: een spoor van voetstappen, dan de praktijk ── */
body.s-fysio-d .vt { background: var(--nacht); color: #c9cfd9; padding: 0 0 30px; overflow: hidden; }
body.s-fysio-d .vt-spoor { padding: 46px 0 0 40px; opacity: .9; }
body.s-fysio-d .spoor { width: 1500px; max-width: none; height: auto; display: block; }
body.s-fysio-d .vt .p1 { fill: var(--kurk); opacity: .45; }
body.s-fysio-d .vt .p2 { fill: #ece6dc; opacity: .8; }
body.s-fysio-d .vt-in { max-width: 1260px; margin: 0 auto; padding: 56px 56px 0; display: grid; grid-template-columns: 1.1fr 1fr .9fr 1fr; gap: 40px; }
body.s-fysio-d .vt-kop { grid-column: 1 / -1; display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px 56px; align-items: end; padding-bottom: 56px; border-bottom: 1px solid #ffffff1a; margin-bottom: 8px; }
body.s-fysio-d .vt-groot { font: 640 clamp(38px, 4.4vw, 68px)/1 var(--disp); color: #fff; letter-spacing: -.035em; margin: 0; grid-row: span 2; }
body.s-fysio-d .vt-sub { margin: 0; font-size: 17px; }
body.s-fysio-d .vt-sub a { color: #fff; }
body.s-fysio-d .vt-kop .knop { justify-self: start; }
body.s-fysio-d .vt h3 { font: 400 11.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--kurk); margin-bottom: 16px; }
body.s-fysio-d .vt-kol { font-size: 16px; line-height: 1.6; }
body.s-fysio-d .vt-kol a { color: #e9e3d8; text-decoration: none; }
body.s-fysio-d .vt-kol a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--kurk); }
body.s-fysio-d .vt-kol ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
body.s-fysio-d .vt-klein { font-size: 14px; color: #9aa2b2; margin-top: 14px; }
body.s-fysio-d .vt .tijden > div { padding: 5px 0; }
body.s-fysio-d .vt .tijden dd { font-size: 13.5px; }
body.s-fysio-d .vt-onder { max-width: 1260px; margin: 56px auto 0; padding: 22px 56px 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px;
  font: 400 12.5px/1.5 var(--mono); color: #9aa2b2; border-top: 1px solid #ffffff1a; }
body.s-fysio-d .vt-onder a { color: var(--kurk-l); }

/* ── Kleinere schermen ── */
@media (max-width: 1360px) {
  body.s-fysio-d .zonelijst li { grid-template-columns: 40px minmax(0, 1fr); gap: 2px 14px; }
  body.s-fysio-d .zonelijst li > span:last-child { grid-column: 2; color: var(--grijs); font-size: 16.5px; }
  body.s-fysio-d .di { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1.2fr) 26px; }
  body.s-fysio-d .di-p { grid-column: 2 / 4; margin-top: -14px; }
  body.s-fysio-d .di .pijl { grid-row: 1; grid-column: 4; }
  body.s-fysio-d .zp { grid-template-columns: 64px 70px minmax(0, 1fr) 170px; }
  body.s-fysio-d .zp-f { grid-column: 3; }
  body.s-fysio-d .zp-v { grid-column: 4; grid-row: 1; }
}
@media (max-width: 1100px) {
  body.s-fysio-d { --zb: 0px; }
  body.s-fysio-d .zb { position: relative; width: auto; bottom: auto; padding: 14px 20px; overflow: visible; }
  body.s-fysio-d .zb-top { justify-content: space-between; }
  body.s-fysio-d .zb-logo { margin-right: auto; }
  body.s-fysio-d .logo-m { width: 32px; height: 38px; }
  body.s-fysio-d .zb-naam b { font-size: 20px; }
  body.s-fysio-d .zb-naam small { font-size: 9.5px; margin-top: 4px; }
  body.s-fysio-d .zb-bel, body.s-fysio-d .zb-knop { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border-radius: 999px; font: 600 15px/1 var(--disp); cursor: pointer; }
  body.s-fysio-d .zb-bel { color: #fff; text-decoration: none; box-shadow: inset 0 0 0 1.5px #ffffff40; }
  body.s-fysio-d .zb-knop { background: var(--papier); color: var(--inkt); box-shadow: 0 3px 0 var(--kurk); }
  body.s-fysio-d .zb-knop-d { display: none; }
  body.s-fysio-d .zb-t:checked ~ .zb-top .zb-knop-o { display: none; }
  body.s-fysio-d .zb-t:checked ~ .zb-top .zb-knop-d { display: inline; }
  body.s-fysio-d .zb-t:focus-visible ~ .zb-top .zb-knop { outline: 2px solid var(--piek); outline-offset: 2px; }
  body.s-fysio-d .zb-nav { display: none; margin-top: 22px; padding-bottom: 12px; }
  body.s-fysio-d .zb-t:checked ~ .zb-nav { display: flex; }
  body.s-fysio-d .zb-pad li a { font-size: 22px; padding: 9px 0; }
  body.s-fysio-d .zb-cta { padding-top: 26px; }
  body.s-fysio-d .hero, body.s-fysio-d .sk { grid-template-columns: 1fr; min-height: 0; }
  body.s-fysio-d .hero-beeld { min-height: 0; aspect-ratio: 4 / 3.4; margin-left: 0; }
  body.s-fysio-d .sk-beeld { min-height: 0; aspect-ratio: 4 / 3; padding: 34px 20px; }
  body.s-fysio-d .sk-beeld:has(.bon), body.s-fysio-d .sk-beeld:has(.vraag-kaart), body.s-fysio-d .sk-beeld:has(.ct-kaart),
  body.s-fysio-d .sk-beeld:has(.fasen-kop), body.s-fysio-d .sk-beeld:has(.sk-meet) { aspect-ratio: auto; }
  body.s-fysio-d .meetkaart { left: 20px; bottom: -36px; width: 236px; }
  body.s-fysio-d .hero-beeld { margin-bottom: 36px; }
  body.s-fysio-d .hs-in, body.s-fysio-d .band-in { grid-template-columns: 1fr; gap: 28px; }
  body.s-fysio-d .hs-kant { position: static; grid-template-columns: auto auto 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 18px; }
  body.s-fysio-d .hs-nr { grid-row: span 2; font-size: 64px; }
  body.s-fysio-d .hs-fase { grid-row: span 2; width: 84px; margin: 0; }
  body.s-fysio-d .hs-fn { align-self: end; }
  body.s-fysio-d .hs-fu { align-self: start; margin: 0; }
  body.s-fysio-d .band-voet { display: none; }
  body.s-fysio-d .persoon { grid-template-columns: 1fr; }
  body.s-fysio-d .ps-foto .ph, body.s-fysio-d .ps-foto img { min-height: 0; aspect-ratio: 4 / 3.6; }
  body.s-fysio-d .vt-in { grid-template-columns: 1fr 1fr; }
  body.s-fysio-d .vt-kop { grid-template-columns: 1fr; }
  body.s-fysio-d .vt-groot { grid-row: auto; }
}
@media (max-width: 900px) {
  body.s-fysio-d .twee, body.s-fysio-d .zones, body.s-fysio-d .meting, body.s-fysio-d .werkplaats, body.s-fysio-d .kosten,
  body.s-fysio-d .dienst-rij, body.s-fysio-d .schoen-blok, body.s-fysio-d .loop, body.s-fysio-d .mono-blok, body.s-fysio-d .reken-w { grid-template-columns: 1fr; gap: 36px; }
  body.s-fysio-d .zones > svg { max-width: 210px; justify-self: center; }
  body.s-fysio-d .mono-blok > svg { max-width: 280px; }
  body.s-fysio-d .loop-hiel { max-width: 220px; }
  body.s-fysio-d .pk-rij, body.s-fysio-d .check, body.s-fysio-d .specs-3, body.s-fysio-d .andere { grid-template-columns: 1fr; }
  body.s-fysio-d .check li:nth-child(-n+3) { margin-top: 18px; }
  body.s-fysio-d .check li:first-child { margin-top: 0; }
  body.s-fysio-d .team, body.s-fysio-d .specs-2 { grid-template-columns: 1fr; }
  body.s-fysio-d .loopfasen { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body.s-fysio-d .zp { grid-template-columns: 60px minmax(0, 1fr); gap: 8px 16px; }
  body.s-fysio-d .zp-nr { grid-row: span 4; align-self: start; }
  body.s-fysio-d .zp-s, body.s-fysio-d .zp-f, body.s-fysio-d .zp-v, body.s-fysio-d .zp b { grid-column: 2; grid-row: auto; }
}
@media (max-width: 640px) {
  body.s-fysio-d { font-size: 17px; }
  body.s-fysio-d .lead { font-size: 19px; }
  body.s-fysio-d .hero-tekst, body.s-fysio-d .sk-tekst { padding: 46px 16px 48px; }
  body.s-fysio-d .hero h1 { font-size: 44px; }
  body.s-fysio-d .sk h1 { font-size: 40px; }
  body.s-fysio-d .zb { padding: 12px 16px; }
  body.s-fysio-d .zb-naam small { display: none; }
  body.s-fysio-d .zb-bel { padding: 0 13px; }
  body.s-fysio-d .hs { padding: 70px 0 76px; }
  body.s-fysio-d .hs-in, body.s-fysio-d .band-in { padding: 0 16px; }
  body.s-fysio-d .hs-t { font-size: 34px; margin-bottom: 26px; }
  body.s-fysio-d .hs-nr { font-size: 52px; }
  body.s-fysio-d .hs-fase { width: 66px; }
  body.s-fysio-d .zonelijst li { grid-template-columns: 36px 1fr; gap: 4px 12px; }
  body.s-fysio-d .zonelijst li > span:last-child { grid-column: 2; color: var(--grijs); font-size: 16px; }
  body.s-fysio-d .di { grid-template-columns: 44px minmax(0, 1fr) 22px; gap: 6px 14px; padding: 22px 0; }
  body.s-fysio-d .dg { width: 42px; }
  body.s-fysio-d .di-t { font-size: 23px; }
  body.s-fysio-d .di-k, body.s-fysio-d .di-p { grid-column: 2 / 4; margin: 0; }
  body.s-fysio-d .di .pijl { grid-column: 3; grid-row: 1; }
  body.s-fysio-d .scherm { padding: 16px 14px; }
  body.s-fysio-d .specs > div { grid-template-columns: 1fr; gap: 4px; }
  body.s-fysio-d .lagen-blok { padding: 14px 10px; margin-top: 40px; }
  body.s-fysio-d .pr { flex-direction: column; gap: 6px; }
  body.s-fysio-d .vergoed { padding: 24px 20px; }
  body.s-fysio-d .ps-t { padding: 56px 16px; }
  body.s-fysio-d .band { padding: 64px 0; }
  body.s-fysio-d .andere-w { padding: 50px 16px; }
  body.s-fysio-d .tr { grid-template-columns: 1fr auto; gap: 4px 16px; }
  body.s-fysio-d .tr-w { grid-column: 1 / -1; grid-row: 2; }
  body.s-fysio-d .loopfasen { grid-template-columns: 1fr 1fr; row-gap: 18px; }
  body.s-fysio-d .wen-lijst li { grid-template-columns: 46px 1fr 78px; gap: 10px; }
  body.s-fysio-d .velden { grid-template-columns: 1fr; }
  body.s-fysio-d .vr summary { font-size: 19px; }
  body.s-fysio-d .vr p { padding-right: 0; }
  body.s-fysio-d .bon, body.s-fysio-d .vraag-kaart, body.s-fysio-d .ct-kaart, body.s-fysio-d .sk-meet { width: 100%; padding: 28px 22px; }
  body.s-fysio-d .ct-tel { font-size: 36px; }
  body.s-fysio-d .vt-spoor { padding-left: 0; }
  body.s-fysio-d .spoor { width: 900px; }
  body.s-fysio-d .vt-in { grid-template-columns: 1fr; padding: 40px 16px 0; gap: 30px; }
  body.s-fysio-d .vt-onder { padding: 20px 16px 0; }
  body.s-fysio-d .fasen-kop { padding: 0; }
  body.s-fysio-d .tm { grid-template-columns: 56px 1fr; gap: 18px; }
  body.s-fysio-d .tm-voet { height: 120px; }
  body.s-fysio-d .hero-beeld { aspect-ratio: 1 / 1; }
  body.s-fysio-d .meetkaart { width: 200px; left: 16px; padding: 12px 14px; }
}

/* zonelijst in een smalle kolom (diabetes): uitleg onder de naam */
body.s-fysio-d .mono-blok .zonelijst li { grid-template-columns: 40px minmax(0, 1fr); gap: 2px 14px; }
body.s-fysio-d .mono-blok .zonelijst li > span:last-child { grid-column: 2; color: var(--grijs); font-size: 16.5px; }
