/* Haarwerkstudio Vol & Vrij (kapper d) — linnen, diep groenblauw, honing; DM Serif Display + Jost.
   Motief: kant (tule waarop haar met de hand wordt geknoopt) die aan de rand oplost. */

body.s-kapper-d {
  --linnen: #f6f1ea;
  --wit: #fffdf9;
  --kantkleur: #ece1d3;
  --ink: #1f2b2b;
  --zacht: #55615f;
  --petrol: #2c4a4a;
  --petrol-d: #1b3132;
  --honing: #d6995e;
  --honing-t: #8f5525;
  --honing-l: #ebb987;
  --lijn: rgba(44, 74, 74, .16);
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "Jost", "Helvetica Neue", Arial, sans-serif;
  --w: 1240px;
  --net: radial-gradient(circle, transparent 1.7px, rgba(44, 74, 74, .2) 2.1px, rgba(44, 74, 74, .2) 2.5px, transparent 2.9px);
  background: var(--linnen);
  color: var(--ink);
  font: 400 18px/1.65 var(--sans);
  -webkit-font-smoothing: antialiased;
}
body.s-kapper-d *, body.s-kapper-d *::before, body.s-kapper-d *::after { box-sizing: border-box; }
body.s-kapper-d img, body.s-kapper-d video { max-width: 100%; }
body.s-kapper-d a { color: inherit; }
body.s-kapper-d h1, body.s-kapper-d h2, body.s-kapper-d h3 { font-family: var(--serif); font-weight: 400; line-height: 1.12; margin: 0; letter-spacing: -.005em; }
body.s-kapper-d h2 em, body.s-kapper-d h1 em { font-style: italic; color: var(--petrol); }
body.s-kapper-d p { margin: 0 0 1em; }
body.s-kapper-d .vv-w { max-width: var(--w); margin: 0 auto; padding: 0 40px; }
body.s-kapper-d .vv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.s-kapper-d .vv-ic { width: 1.1em; height: 1.1em; flex: none; }
body.s-kapper-d .vv-kicker { font: 500 13px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--honing-t); margin: 0 0 18px; }
body.s-kapper-d .vv-lead { font-size: 21px; line-height: 1.55; color: var(--ink); }
body.s-kapper-d .vv-klein { font-size: 15px; line-height: 1.55; color: var(--zacht); }
body.s-kapper-d .vv-onderschrift { font: italic 400 15px/1.45 var(--serif); color: var(--zacht); margin: 14px 0 0; }

/* Kant: fijn tule-netje, aan de rand opgelost */
body.s-kapper-d .vv-kant { display: block; pointer-events: none;
  background-image: var(--net), var(--net); background-size: 9px 15.6px; background-position: 0 0, 4.5px 7.8px; }

/* Foto's */
body.s-kapper-d .vv-foto { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 2px; min-height: 0; }
body.s-kapper-d .ph.vv-foto { display: grid; background: linear-gradient(160deg, #cfc0ac, #9fa9a3 60%, #5f7473); color: #fff; }

/* Knoppen */
body.s-kapper-d .vv-knop { display: inline-flex; align-items: center; gap: 14px; background: var(--petrol); color: #fff; text-decoration: none;
  font: 500 16px/1 var(--sans); letter-spacing: .02em; padding: 18px 22px 18px 26px; border: 0; border-radius: 0 40px 40px 0; cursor: pointer;
  transition: background .25s, gap .25s; }
body.s-kapper-d .vv-knop .vv-ic { width: 20px; height: 20px; }
body.s-kapper-d .vv-knop:hover { background: var(--petrol-d); gap: 20px; }
body.s-kapper-d .vv-knop-stil { background: transparent; color: var(--petrol); padding: 14px 0; border-bottom: 1px solid var(--petrol); border-radius: 0; }
body.s-kapper-d .vv-knop-stil:hover { background: transparent; color: var(--petrol-d); }
body.s-kapper-d .vv-knop-licht { background: var(--honing); color: #1d2525; }
body.s-kapper-d .vv-knop-licht:hover { background: #e7b07b; }
body.s-kapper-d .vv-link { color: var(--petrol); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* ── Kop (N2: naam in het midden, menu links en rechts) ── */
body.s-kapper-d .vv-kop { background: var(--wit); border-bottom: 1px solid var(--lijn); position: relative; z-index: 20; }
body.s-kapper-d .vv-toggle { position: absolute; opacity: 0; pointer-events: none; }
body.s-kapper-d .vv-lijn { display: flex; justify-content: space-between; align-items: center; gap: 20px; max-width: var(--w); margin: 0 auto; padding: 10px 40px;
  font-size: 13px; letter-spacing: .04em; color: var(--zacht); border-bottom: 1px solid var(--lijn); }
body.s-kapper-d .vv-lijn p { margin: 0; }
body.s-kapper-d .vv-ods { color: var(--petrol); font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; }
body.s-kapper-d .vv-ods.is-actief { color: var(--honing-t); }
body.s-kapper-d .vv-rij { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; max-width: var(--w); margin: 0 auto; padding: 22px 40px 24px; }
body.s-kapper-d .vv-nav { display: flex; align-items: center; gap: 30px; }
body.s-kapper-d .vv-links { justify-content: flex-end; }
body.s-kapper-d .vv-rechts { justify-content: flex-start; }
body.s-kapper-d .vv-nl { font-size: 16px; text-decoration: none; color: var(--ink); padding: 6px 0; position: relative; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
body.s-kapper-d .vv-nl::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--petrol); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
body.s-kapper-d .vv-nl:hover::after, body.s-kapper-d .vv-nl.is-actief::after { transform: scaleX(1); }
body.s-kapper-d .vv-nl.is-actief { color: var(--petrol); }
body.s-kapper-d .vv-tel { color: var(--zacht); }
body.s-kapper-d .vv-merk { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--petrol); line-height: 1; }
body.s-kapper-d .vv-merk-naam { font: 400 44px/1 var(--serif); letter-spacing: -.01em; white-space: nowrap; }
body.s-kapper-d .vv-merk-naam i { font-style: italic; color: var(--honing-t); padding: 0 .04em; }
body.s-kapper-d .vv-merk-sub { font: 500 11px/1 var(--sans); letter-spacing: .42em; text-transform: uppercase; margin-top: 9px; padding-left: .42em; color: var(--zacht); }
body.s-kapper-d .vv-kopknop { display: inline-block; text-decoration: none; background: var(--petrol); color: #fff; font: 500 15px/1 var(--sans); padding: 13px 20px 13px 22px; border-radius: 0 30px 30px 0; white-space: nowrap; }
body.s-kapper-d .vv-kopknop:hover { background: var(--petrol-d); }
body.s-kapper-d .vv-burger, body.s-kapper-d .vv-belrond, body.s-kapper-d .vv-paneel { display: none; }

/* ── Home: opening (H9: eerst de persoon) ── */
body.s-kapper-d .vv-open { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100vh - 150px); background: var(--wit); }
body.s-kapper-d .vv-open-foto { position: relative; padding: 0; min-height: 640px; }
body.s-kapper-d .vv-open-foto .vv-foto { position: absolute; inset: 0; border-radius: 0; }
body.s-kapper-d .vv-open-foto .vv-onderschrift { position: absolute; right: 28px; top: 28px; max-width: 360px; margin: 0; color: #fff; background: rgba(27, 49, 50, .78); padding: 12px 16px; font-size: 15px; }
body.s-kapper-d .vv-open-tekst { position: relative; padding: 96px 64px 72px 72px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
body.s-kapper-d .vv-open-kant { position: absolute; top: 0; right: 0; width: 70%; height: 55%;
  -webkit-mask-image: radial-gradient(ellipse at top right, #000 15%, transparent 70%); mask-image: radial-gradient(ellipse at top right, #000 15%, transparent 70%); }
body.s-kapper-d .vv-open-tekst > * { position: relative; }
body.s-kapper-d .vv-citaat { margin: 0 0 26px; }
body.s-kapper-d .vv-citaat p { font: italic 400 clamp(36px, 3.6vw, 54px)/1.1 var(--serif); color: var(--petrol); margin: 0; text-indent: -.4em; }
body.s-kapper-d .vv-handtekening { display: flex; flex-direction: column; gap: 2px; font-size: 15px; color: var(--zacht); margin-bottom: 40px; padding-left: 64px; position: relative; }
body.s-kapper-d .vv-handtekening::before { content: ""; position: absolute; left: 0; top: 14px; width: 48px; height: 1px; background: var(--honing); }
body.s-kapper-d .vv-handtekening span { font: 400 21px/1.2 var(--serif); color: var(--ink); }
body.s-kapper-d .vv-open h1 { font: 400 20px/1.55 var(--sans); color: var(--ink); max-width: 30em; margin-bottom: 30px; }
body.s-kapper-d .vv-acties { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-bottom: 40px; }
body.s-kapper-d .vv-belofte { list-style: none; margin: 0; padding: 22px 0 0; border-top: 1px solid var(--lijn); display: grid; gap: 8px; font-size: 16px; color: var(--zacht); }
body.s-kapper-d .vv-belofte li { padding-left: 26px; position: relative; }
body.s-kapper-d .vv-belofte li::before { content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 12px; border-radius: 50%;
  background-image: var(--net), var(--net); background-size: 5px 8.6px; background-position: 0 0, 2.5px 4.3px; box-shadow: inset 0 0 0 1px var(--honing); }

/* Routes: waar sta je nu */
body.s-kapper-d .vv-routes { padding: 130px 0 120px; }
body.s-kapper-d .vv-routes-grid { display: grid; grid-template-columns: 4fr 7fr; gap: 80px; }
body.s-kapper-d .vv-routes-kop h2 { font-size: 52px; margin-bottom: 22px; }
body.s-kapper-d .vv-routes-kop p { color: var(--zacht); max-width: 22em; }
body.s-kapper-d .vv-routes-lijst { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-routes-lijst a { display: grid; grid-template-columns: 1fr 1.1fr 28px; gap: 28px; align-items: baseline; padding: 30px 0; border-bottom: 1px solid var(--lijn); text-decoration: none; transition: padding .3s, background .3s; }
body.s-kapper-d .vv-routes-lijst a:hover { padding-left: 16px; padding-right: 8px; background: var(--wit); }
body.s-kapper-d .vv-r-t { font: 400 28px/1.2 var(--serif); color: var(--petrol); }
body.s-kapper-d .vv-r-p { color: var(--zacht); font-size: 16px; }
body.s-kapper-d .vv-routes-lijst .vv-ic { width: 24px; height: 24px; color: var(--honing-t); align-self: center; }

/* R5: vaste foto naast scrollende tekst */
body.s-kapper-d .vv-plak { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; align-items: start; background: var(--wit); border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-plak-foto { position: sticky; top: 36px; height: calc(100vh - 36px); min-height: 520px; padding: 40px; display: flex; flex-direction: column; }
body.s-kapper-d .vv-plak-foto .vv-foto { flex: 1; min-height: 0; }
body.s-kapper-d .vv-plak-tekst { padding: 120px 9% 120px 7%; max-width: 680px; }
body.s-kapper-d .vv-plak-om .vv-plak-foto { order: 2; }
body.s-kapper-d .vv-plak-om .vv-plak-tekst { order: 1; margin-left: auto; padding: 120px 7% 120px 9%; }
body.s-kapper-d .vv-plak-tekst h2 { font-size: 46px; margin-bottom: 26px; }
body.s-kapper-d .vv-moment { padding: 44px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-moment:first-of-type { margin-top: 30px; }
body.s-kapper-d .vv-m-woord { font: italic 400 19px/1 var(--serif); color: var(--honing-t); margin-bottom: 14px; }
body.s-kapper-d .vv-moment h3 { font-size: 30px; margin-bottom: 14px; color: var(--petrol); }
body.s-kapper-d .vv-moment p:last-child { margin: 0; color: var(--zacht); }

/* Tijdlijn: je haar komt terug */
body.s-kapper-d .vv-tl { background: var(--petrol-d); color: #e9efed; padding: 130px 0 110px; position: relative; overflow: hidden; }
body.s-kapper-d .vv-tl::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 220px; opacity: .55;
  background-image: radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .16) 2.1px, rgba(233, 239, 237, .16) 2.5px, transparent 2.9px),
                    radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .16) 2.1px, rgba(233, 239, 237, .16) 2.5px, transparent 2.9px);
  background-size: 9px 15.6px; background-position: 0 0, 4.5px 7.8px;
  -webkit-mask-image: linear-gradient(#000, transparent); mask-image: linear-gradient(#000, transparent); }
body.s-kapper-d .vv-tl .vv-w { position: relative; }
body.s-kapper-d .vv-tl-kop { display: grid; grid-template-columns: 7fr 5fr; gap: 60px; align-items: end; margin-bottom: 80px; }
body.s-kapper-d .vv-tl-kop h2 { font-size: 54px; color: #fff; }
body.s-kapper-d .vv-tl-kop h2 em { color: var(--honing); }
body.s-kapper-d .vv-tl-kop p { color: #c9d4d1; margin: 0; }
body.s-kapper-d .vv-tl-lijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; position: relative; }
body.s-kapper-d .vv-tl-lijst::before { content: ""; position: absolute; left: 0; right: 0; top: 96px; height: 1px; background: linear-gradient(90deg, rgba(214, 153, 94, .25), var(--honing)); }
body.s-kapper-d .vv-tl-lijst li { padding: 0 26px 0 0; position: relative; }
body.s-kapper-d .vv-tl-lijst li::before { content: ""; position: absolute; left: 0; top: 91px; width: 11px; height: 11px; border-radius: 50%; background: var(--petrol-d); border: 1px solid var(--honing); }
body.s-kapper-d .vv-tl-lijst li:last-child::before { background: var(--honing); }
body.s-kapper-d .vv-tl-beeld { height: 80px; margin-bottom: 44px; }
body.s-kapper-d .vv-groei { width: 96px; height: 76px; color: #e9efed; }
body.s-kapper-d .vv-groei .vv-hoofd { stroke: var(--honing); stroke-width: 1.4; }
body.s-kapper-d .vv-groei .vv-dun { stroke-dasharray: 9 3 4 4; opacity: .85; }
body.s-kapper-d .vv-groei .vv-los { opacity: .6; }
body.s-kapper-d .vv-groei .vv-dons { fill: currentColor; stroke: none; }
body.s-kapper-d .vv-tl-lijst h3 { font-size: 23px; color: #fff; margin-bottom: 12px; }
body.s-kapper-d .vv-tl-lijst p { font-size: 16px; color: #c9d4d1; margin: 0; }
body.s-kapper-d .vv-tl-voet { margin: 70px 0 0; font-size: 15px; color: #a9b8b5; max-width: 40em; }

/* Stalen van de binnenkant */
body.s-kapper-d .vv-stalen { margin: 36px 0; display: grid; gap: 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-staal { display: grid; grid-template-columns: 96px 1fr; gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--lijn); align-items: start; }
body.s-kapper-d .vv-staal h3 { font-size: 24px; color: var(--petrol); margin-bottom: 8px; }
body.s-kapper-d .vv-staal p { margin: 0; color: var(--zacht); font-size: 16px; }
body.s-kapper-d .vv-staal-lap { display: block; width: 96px; height: 96px; border-radius: 48px 48px 6px 6px; background-color: var(--kantkleur); position: relative; overflow: hidden; }
body.s-kapper-d .vv-staal-lap::before { content: ""; position: absolute; inset: 0;
  background-image: var(--net), var(--net); background-size: 7px 12.1px; background-position: 0 0, 3.5px 6.05px; }
body.s-kapper-d .vv-staal-lap::after { content: ""; position: absolute; inset: 0;
  background: repeating-linear-gradient(100deg, transparent 0 5px, rgba(92, 64, 40, .55) 5px 6px, transparent 6px 11px); }
body.s-kapper-d .vv-st-kant::after { -webkit-mask-image: linear-gradient(transparent 10%, #000 70%); mask-image: linear-gradient(transparent 10%, #000 70%); }
body.s-kapper-d .vv-st-mono::before { background-size: 4px 6.9px; background-position: 0 0, 2px 3.45px; opacity: .8; }
body.s-kapper-d .vv-st-mono::after { -webkit-mask-image: linear-gradient(90deg, #000 30%, transparent 46%, transparent 54%, #000 70%); mask-image: linear-gradient(90deg, #000 30%, transparent 46%, transparent 54%, #000 70%); }
body.s-kapper-d .vv-st-rand { background-color: #f1ebe2; }
body.s-kapper-d .vv-st-rand::before { background: repeating-linear-gradient(0deg, rgba(44, 74, 74, .14) 0 1px, transparent 1px 4px); }
body.s-kapper-d .vv-st-rand::after { -webkit-mask-image: linear-gradient(transparent 40%, #000 55%); mask-image: linear-gradient(transparent 40%, #000 55%); }

/* Vergoeding-band */
body.s-kapper-d .vv-vergoed { background: var(--petrol); color: #eef3f1; padding: 110px 0; }
body.s-kapper-d .vv-vergoed-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 40px 90px; align-items: center; }
body.s-kapper-d .vv-vergoed .vv-kicker { color: var(--honing-l); }
body.s-kapper-d .vv-bedrag { font: 400 84px/1 var(--serif); color: #fff; margin: 0 0 20px; white-space: nowrap; }
body.s-kapper-d .vv-bedrag span { font: italic 400 .36em/1 var(--serif); color: var(--honing); margin-right: .2em; vertical-align: .9em; }
body.s-kapper-d .vv-vergoed-bedrag p:last-child { color: #c6d3d0; max-width: 26em; margin: 0; }
body.s-kapper-d .vv-vergoed-stappen { list-style: none; counter-reset: v; margin: 0; padding: 0; }
body.s-kapper-d .vv-vergoed-stappen li { counter-increment: v; padding: 22px 0 22px 60px; border-top: 1px solid rgba(255, 255, 255, .18); position: relative; color: #c6d3d0; font-size: 17px; }
body.s-kapper-d .vv-vergoed-stappen li::before { content: counter(v); position: absolute; left: 0; top: 18px; font: italic 400 30px/1 var(--serif); color: var(--honing); }
body.s-kapper-d .vv-vergoed-stappen b { display: block; font-weight: 500; color: #fff; font-size: 19px; }
body.s-kapper-d .vv-vergoed-grid > .vv-knop { grid-column: 2; justify-self: start; }

/* Slot met Floor */
body.s-kapper-d .vv-slot { padding: 140px 0; }
body.s-kapper-d .vv-slot-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 90px; align-items: center; }
body.s-kapper-d .vv-slot-foto { aspect-ratio: 4 / 5; }
body.s-kapper-d .vv-slot h2 { font-size: 50px; margin-bottom: 26px; }
body.s-kapper-d .vv-slot p { color: var(--zacht); max-width: 32em; }
body.s-kapper-d .vv-groottel { font: 400 46px/1 var(--serif) !important; margin: 30px 0 18px !important; }
body.s-kapper-d .vv-groottel a { color: var(--petrol); text-decoration: none; border-bottom: 1px solid var(--honing); }
body.s-kapper-d .vv-slot .vv-knop { margin-top: 18px; }

/* ── Paginakop (subpagina's), gecentreerd zoals de naam ── */
body.s-kapper-d .vv-pk { background: var(--wit); text-align: center; padding: 110px 0 100px; position: relative; overflow: hidden; }
body.s-kapper-d .vv-pk-binnen { position: relative; }
body.s-kapper-d .vv-pk-kant { position: absolute; left: 50%; top: -110px; width: 760px; height: 300px; transform: translateX(-50%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 0, #000 10%, transparent 68%); mask-image: radial-gradient(ellipse at 50% 0, #000 10%, transparent 68%); }
body.s-kapper-d .vv-pk h1 { font-size: clamp(42px, 5vw, 70px); max-width: 15em; margin: 0 auto 26px; color: var(--petrol); position: relative; }
body.s-kapper-d .vv-pk .vv-kicker { position: relative; }
body.s-kapper-d .vv-pk-intro { max-width: 36em; margin: 0 auto; color: var(--zacht); font-size: 20px; position: relative; }
body.s-kapper-d .vv-sprong { margin-top: 52px; position: relative; }
body.s-kapper-d .vv-sprong p { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--zacht); margin-bottom: 14px; }
body.s-kapper-d .vv-sprong ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
body.s-kapper-d .vv-sprong a, body.s-kapper-d .vv-pk-sprong a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; text-decoration: none; color: var(--petrol);
  border: 1px dashed rgba(44, 74, 74, .45); border-radius: 30px; padding: 9px 16px; }
body.s-kapper-d .vv-sprong a:hover, body.s-kapper-d .vv-pk-sprong a:hover { border-style: solid; background: var(--linnen); }
body.s-kapper-d .vv-pk-sprong { margin: 40px 0 0; position: relative; }

/* Diensten */
body.s-kapper-d .vv-punten { list-style: none; margin: 28px 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 26px; font-size: 16px; }
body.s-kapper-d .vv-punten li { display: flex; gap: 12px; align-items: baseline; }
body.s-kapper-d .vv-punt { width: 12px; height: 12px; border-radius: 50%; flex: none; background-size: 5px 8.6px !important; background-position: 0 0, 2.5px 4.3px !important; box-shadow: inset 0 0 0 1px var(--honing); transform: translateY(1px); }
body.s-kapper-d .vv-feiten { margin: 34px 0 38px; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-feiten div { padding: 16px 16px 16px 0; border-bottom: 1px solid var(--lijn); }
body.s-kapper-d .vv-feiten dt { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--honing-t); margin-bottom: 4px; }
body.s-kapper-d .vv-feiten dd { margin: 0; font-size: 16px; }
body.s-kapper-d .vv-dienst { scroll-margin-top: 40px; }

body.s-kapper-d .vv-vergelijk { padding: 130px 0; }
body.s-kapper-d .vv-vergelijk-kop { display: grid; grid-template-columns: 5fr 6fr; gap: 60px; align-items: end; margin-bottom: 50px; }
body.s-kapper-d .vv-vergelijk-kop h2 { font-size: 50px; }
body.s-kapper-d .vv-vergelijk-kop p { color: var(--zacht); margin: 0; }
body.s-kapper-d .vv-tabel-wrap { overflow-x: auto; }
body.s-kapper-d .vv-tabel { width: 100%; border-collapse: collapse; font-size: 17px; }
body.s-kapper-d .vv-tabel th, body.s-kapper-d .vv-tabel td { text-align: left; padding: 20px 20px 20px 0; border-bottom: 1px solid var(--lijn); vertical-align: top; }
body.s-kapper-d .vv-tabel thead th { font: 400 28px/1.1 var(--serif); color: var(--petrol); border-bottom: 1px solid var(--petrol); }
body.s-kapper-d .vv-tabel tbody th { font-weight: 500; width: 22%; color: var(--zacht); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; padding-top: 23px; }

body.s-kapper-d .vv-maatwerk { background: var(--wit); padding: 130px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-maatwerk-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 90px; align-items: center; }
body.s-kapper-d .vv-maatwerk h2 { font-size: 46px; margin-bottom: 24px; }
body.s-kapper-d .vv-maten { width: 100%; max-width: 440px; display: block; margin: 0 auto; }
body.s-kapper-d .vv-maten .m-hoofd { stroke: var(--petrol); stroke-width: 1.4; fill: var(--linnen); }
body.s-kapper-d .vv-maten .m-lint { stroke: var(--honing); stroke-width: 2.2; }
body.s-kapper-d .vv-maten .m-stip { stroke-dasharray: 1 6; stroke-width: 3; }
body.s-kapper-d .vv-maten .m-stip2 { stroke-dasharray: 8 6; }
body.s-kapper-d .vv-maten .m-tick { stroke: var(--honing-t); stroke-width: 1; }
body.s-kapper-d .vv-maten .m-label circle { fill: var(--petrol); }
body.s-kapper-d .vv-maten .m-label text { fill: #fff; font: 400 14px var(--serif); text-anchor: middle; }
body.s-kapper-d .vv-maatlijst { list-style: none; margin: 30px 0; padding: 0; }
body.s-kapper-d .vv-maatlijst li { display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-maat-l { width: 30px; height: 30px; border-radius: 50%; background: var(--petrol); color: #fff; display: grid; place-items: center; font: 400 15px/1 var(--serif); }
body.s-kapper-d .vv-maatlijst h3 { font-size: 22px; margin-bottom: 4px; }
body.s-kapper-d .vv-maatlijst p { margin: 0; font-size: 16px; color: var(--zacht); }

/* Slotband (diensten, prijzen, over) */
body.s-kapper-d .vv-band { background: var(--petrol-d); color: #e9efed; padding: 110px 0; text-align: center; position: relative; overflow: hidden; }
body.s-kapper-d .vv-band::before { content: ""; position: absolute; left: 50%; top: 0; width: 900px; height: 200px; transform: translateX(-50%);
  background-image: radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .15) 2.1px, rgba(233, 239, 237, .15) 2.5px, transparent 2.9px),
                    radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .15) 2.1px, rgba(233, 239, 237, .15) 2.5px, transparent 2.9px);
  background-size: 9px 15.6px; background-position: 0 0, 4.5px 7.8px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 0, #000 10%, transparent 70%); mask-image: radial-gradient(ellipse at 50% 0, #000 10%, transparent 70%); }
body.s-kapper-d .vv-band-binnen { position: relative; }
body.s-kapper-d .vv-band h2 { font-size: 46px; color: #fff; max-width: 18em; margin: 0 auto 22px; }
body.s-kapper-d .vv-band h2 em { color: var(--honing); }
body.s-kapper-d .vv-band p { color: #c9d4d1; max-width: 34em; margin: 0 auto 36px; }
body.s-kapper-d .vv-band h2 + .vv-knop { margin-top: 18px; }

/* Prijzen */
body.s-kapper-d .vv-vergoedkaart { background: var(--petrol); color: #e6eeec; padding: 70px 56px; justify-content: center; overflow: hidden; }
body.s-kapper-d .vv-vk-kant { position: absolute !important; right: 0; top: 0; width: 80%; height: 60%;
  background-image: radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .2) 2.1px, rgba(233, 239, 237, .2) 2.5px, transparent 2.9px),
                    radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .2) 2.1px, rgba(233, 239, 237, .2) 2.5px, transparent 2.9px);
  -webkit-mask-image: radial-gradient(ellipse at top right, #000 10%, transparent 70%); mask-image: radial-gradient(ellipse at top right, #000 10%, transparent 70%); }
body.s-kapper-d .vv-vergoedkaart > * { position: relative; }
body.s-kapper-d .vv-vergoedkaart .vv-kicker { color: var(--honing-l); }
body.s-kapper-d .vv-vergoedkaart .vv-bedrag { font-size: 72px; }
body.s-kapper-d .vv-vergoedkaart .vv-klein { color: #b9c8c4; margin: 26px 0 0; }
body.s-kapper-d .vv-aanvullend { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .2); }
body.s-kapper-d .vv-aanvullend li { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .2); font-size: 16px; }
body.s-kapper-d .vv-aanvullend b { font-weight: 500; color: #fff; white-space: nowrap; }
body.s-kapper-d .vv-prijsgroep { padding: 0 0 56px; }
body.s-kapper-d .vv-prijsgroep + .vv-prijsgroep { padding-top: 56px; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-prijsgroep h2 { font-size: 36px; color: var(--petrol); margin-bottom: 10px; }
body.s-kapper-d .vv-prijsgroep > p { color: var(--zacht); font-size: 17px; }
body.s-kapper-d .vv-prijslijst { list-style: none; margin: 18px 0 0; padding: 0; }
body.s-kapper-d .vv-prijslijst li { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 16px 0; border-bottom: 1px dotted rgba(44, 74, 74, .35); }
body.s-kapper-d .vv-prijslijst li > div { display: flex; flex-direction: column; }
body.s-kapper-d .vv-pr-n { font-weight: 500; }
body.s-kapper-d .vv-pr-u { font-size: 15px; color: var(--zacht); }
body.s-kapper-d .vv-pr-p { font: 400 21px/1.2 var(--serif); color: var(--petrol); white-space: nowrap; text-align: right; }
body.s-kapper-d .vv-rekenen { padding: 130px 0; }
body.s-kapper-d .vv-rekenen-kop { text-align: center; max-width: 40em; margin: 0 auto 60px; }
body.s-kapper-d .vv-rekenen-kop h2 { font-size: 48px; margin-bottom: 16px; }
body.s-kapper-d .vv-rekenen-kop p { color: var(--zacht); }
body.s-kapper-d .vv-reken-rij { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
body.s-kapper-d .vv-reken { background: var(--wit); padding: 40px 34px 34px; border-top: 3px solid var(--honing); }
body.s-kapper-d .vv-reken h3 { font-size: 27px; color: var(--petrol); margin-bottom: 6px; }
body.s-kapper-d .vv-reken-wie { font-size: 15px; color: var(--zacht); }
body.s-kapper-d .vv-reken dl { margin: 20px 0 0; }
body.s-kapper-d .vv-reken dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--lijn); font-size: 16px; }
body.s-kapper-d .vv-reken dt { color: var(--zacht); }
body.s-kapper-d .vv-reken dd { margin: 0; white-space: nowrap; }
body.s-kapper-d .vv-reken-tot { display: flex; justify-content: space-between; align-items: baseline; margin: 18px 0 0; }
body.s-kapper-d .vv-reken-tot span { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--honing-t); }
body.s-kapper-d .vv-reken-tot b { font: 400 34px/1 var(--serif); color: var(--petrol); }
body.s-kapper-d .vv-regelen { background: var(--wit); padding: 120px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-regelen-grid { display: grid; grid-template-columns: 4fr 8fr; gap: 80px; }
body.s-kapper-d .vv-regelen h2 { font-size: 46px; }
body.s-kapper-d .vv-regel-lijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 44px 50px; counter-reset: r; }
body.s-kapper-d .vv-regel-lijst li { counter-increment: r; border-top: 1px solid var(--petrol); padding-top: 20px; }
body.s-kapper-d .vv-regel-lijst h3 { font-size: 25px; margin-bottom: 10px; }
body.s-kapper-d .vv-regel-lijst h3::before { content: counter(r) " · "; font-style: italic; color: var(--honing-t); }
body.s-kapper-d .vv-regel-lijst p { margin: 0; color: var(--zacht); font-size: 16px; }

/* Over ons */
body.s-kapper-d .vv-verhaal h2 { font-size: 40px; color: var(--petrol); }
body.s-kapper-d .vv-verhaal > p:not(.vv-lead) { color: #3a4746; }
body.s-kapper-d .vv-pull { margin: 46px 0; padding: 30px 0 30px 34px; border-left: 2px solid var(--honing); position: relative; }
body.s-kapper-d .vv-pull p { font: italic 400 30px/1.25 var(--serif); color: var(--petrol); margin: 0; }
body.s-kapper-d .vv-team { padding: 130px 0; }
body.s-kapper-d .vv-team h2 { font-size: 48px; text-align: center; margin-bottom: 60px; }
body.s-kapper-d .vv-team-rij { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; max-width: 980px; margin: 0 auto 70px; }
body.s-kapper-d .vv-lid { text-align: center; padding: 0 20px; }
body.s-kapper-d .vv-lid-init { width: 84px; height: 84px; margin: 0 auto 22px; border-radius: 50%; display: grid; place-items: center; font: italic 400 40px/1 var(--serif); color: var(--petrol);
  background-color: var(--kantkleur); background-image: var(--net), var(--net); background-size: 7px 12.1px; background-position: 0 0, 3.5px 6.05px; }
body.s-kapper-d .vv-lid h3 { font-size: 30px; margin-bottom: 6px; }
body.s-kapper-d .vv-lid-rol { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--honing-t); margin-bottom: 16px; }
body.s-kapper-d .vv-lid p:last-child { color: var(--zacht); font-size: 17px; }
body.s-kapper-d .vv-team-foto { margin: 0; }
body.s-kapper-d .vv-team-foto .vv-foto { aspect-ratio: 21 / 9; height: auto; }
body.s-kapper-d .vv-studio { background: var(--wit); padding: 120px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-studio-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 90px; }
body.s-kapper-d .vv-studio h2 { font-size: 48px; margin-bottom: 22px; }
body.s-kapper-d .vv-studio-lijst { list-style: none; margin: 0; padding: 0; }
body.s-kapper-d .vv-studio-lijst li { display: grid; grid-template-columns: 44px 1fr; gap: 22px; padding: 26px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-studio-lijst .vv-ic { width: 34px; height: 34px; color: var(--petrol); }
body.s-kapper-d .vv-studio-lijst h3 { font-size: 25px; margin-bottom: 6px; }
body.s-kapper-d .vv-studio-lijst p { margin: 0; color: var(--zacht); font-size: 16px; }
body.s-kapper-d .vv-werkwijze { padding: 130px 0; scroll-margin-top: 40px; }
body.s-kapper-d .vv-werkwijze-grid { display: grid; grid-template-columns: 4fr 7fr; gap: 80px; align-items: start; }
body.s-kapper-d .vv-werkwijze-kop { position: sticky; top: 70px; }
body.s-kapper-d .vv-werkwijze-kop h2 { font-size: 46px; margin-bottom: 20px; }
body.s-kapper-d .vv-werkwijze-kop p { color: var(--zacht); }
body.s-kapper-d .vv-stappen { list-style: none; margin: 0; padding: 0; }
body.s-kapper-d .vv-stappen li { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 34px 0; border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-stap-n { font: italic 400 54px/1 var(--serif); color: var(--honing-t); }
body.s-kapper-d .vv-stappen h3 { font-size: 28px; color: var(--petrol); margin-bottom: 8px; }
body.s-kapper-d .vv-stappen p { margin: 0; color: var(--zacht); }
body.s-kapper-d .vv-erkend { padding: 0 0 110px; }
body.s-kapper-d .vv-erkend ul { list-style: none; margin: 0; padding: 30px 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 44px; border-top: 1px solid var(--lijn); border-bottom: 1px solid var(--lijn); font-size: 16px; color: var(--zacht); }
body.s-kapper-d .vv-erkend li { display: flex; gap: 12px; align-items: baseline; }

/* Contact */
body.s-kapper-d .vv-contact { background: var(--linnen); }
body.s-kapper-d .vv-contact .vv-plak-tekst { padding-top: 90px; max-width: 720px; margin-left: auto; }
body.s-kapper-d .vv-form h2 { font-size: 34px; color: var(--petrol); margin-bottom: 26px; }
body.s-kapper-d .vv-velden { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 24px; margin-bottom: 28px; }
body.s-kapper-d .vv-form label { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 500; color: var(--ink); }
body.s-kapper-d .vv-form label span { font-weight: 400; color: var(--zacht); }
body.s-kapper-d .vv-vol { grid-column: 1 / -1; }
body.s-kapper-d .vv-form input:not([type=radio]), body.s-kapper-d .vv-form select, body.s-kapper-d .vv-form textarea {
  font: 400 17px/1.4 var(--sans); color: var(--ink); background: var(--wit); border: 1px solid rgba(44, 74, 74, .35); border-radius: 2px; padding: 14px 16px; width: 100%; }
body.s-kapper-d .vv-form input:focus, body.s-kapper-d .vv-form select:focus, body.s-kapper-d .vv-form textarea:focus { outline: 2px solid var(--honing); outline-offset: 1px; border-color: var(--petrol); }
body.s-kapper-d .vv-keus { border: 0; padding: 0; margin: 0 0 28px; display: flex; flex-wrap: wrap; gap: 10px; }
body.s-kapper-d .vv-keus legend { font-size: 15px; font-weight: 500; margin-bottom: 12px; padding: 0; }
body.s-kapper-d .vv-keus label { flex-direction: row; align-items: center; gap: 10px; font-weight: 400; background: var(--wit); border: 1px solid rgba(44, 74, 74, .3); padding: 11px 18px; border-radius: 30px; cursor: pointer; }
body.s-kapper-d .vv-keus input { accent-color: #2c4a4a; margin: 0; }
body.s-kapper-d .vv-form .vv-knop { margin: 6px 0 22px; }
body.s-kapper-d .vv-noot { font-size: 14px; color: var(--honing-t); font-weight: 500; }
body.s-kapper-d .vv-contactkaart { background: var(--wit); padding: 70px 52px; justify-content: center; gap: 0; border-left: 1px solid var(--lijn); }
body.s-kapper-d .vv-ck-blok { padding: 26px 0; border-bottom: 1px solid var(--lijn); }
body.s-kapper-d .vv-ck-blok:last-child { border-bottom: 0; }
body.s-kapper-d .vv-ck-blok p { margin-bottom: .5em; }
body.s-kapper-d .vv-ck-blok .vv-kicker { margin-bottom: 10px; }
body.s-kapper-d .vv-contactkaart .vv-groottel { font-size: 40px !important; margin: 0 0 12px !important; }
body.s-kapper-d .vv-tijden { margin: 0; }
body.s-kapper-d .vv-tijden div { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; font-size: 16px; }
body.s-kapper-d .vv-tijden dt { color: var(--zacht); }
body.s-kapper-d .vv-tijden dd { margin: 0; text-align: right; }
body.s-kapper-d .vv-vragen { background: var(--wit); padding: 130px 0; border-top: 1px solid var(--lijn); scroll-margin-top: 40px; }
body.s-kapper-d .vv-vragen-grid { display: grid; grid-template-columns: 4fr 7fr; gap: 80px; align-items: start; }
body.s-kapper-d .vv-vragen-kop { position: sticky; top: 70px; }
body.s-kapper-d .vv-vragen-kop h2 { font-size: 46px; margin-bottom: 20px; }
body.s-kapper-d .vv-vragen-kop p { color: var(--zacht); }
body.s-kapper-d .vv-vragen-kant { width: 100%; height: 150px; margin-top: 30px; -webkit-mask-image: linear-gradient(#000, transparent); mask-image: linear-gradient(#000, transparent); }
body.s-kapper-d .vv-vraag { border-top: 1px solid var(--lijn); }
body.s-kapper-d .vv-vraag:last-child { border-bottom: 1px solid var(--lijn); }
body.s-kapper-d .vv-vraag summary { list-style: none; cursor: pointer; padding: 26px 50px 26px 0; position: relative; font: 400 24px/1.3 var(--serif); color: var(--petrol); }
body.s-kapper-d .vv-vraag summary::-webkit-details-marker { display: none; }
body.s-kapper-d .vv-vraag summary::after { content: "+"; position: absolute; right: 6px; top: 22px; font: 300 30px/1 var(--sans); color: var(--honing-t); transition: transform .3s; }
body.s-kapper-d .vv-vraag[open] summary::after { transform: rotate(45deg); }
body.s-kapper-d .vv-vraag p { padding: 0 40px 26px 0; margin: 0; color: var(--zacht); }

/* ── Voet ── */
body.s-kapper-d .vv-voet { background: var(--petrol-d); color: #cfdad7; position: relative; padding: 120px 0 40px; overflow: hidden; }
body.s-kapper-d .vv-band + .vv-voet, body.s-kapper-d main:has(> .vv-band:last-child) + .vv-voet { border-top: 1px solid rgba(255, 255, 255, .1); }
body.s-kapper-d .vv-voet-kant { position: absolute; left: 0; right: 0; top: 0; height: 160px;
  background-image: radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .13) 2.1px, rgba(233, 239, 237, .13) 2.5px, transparent 2.9px),
                    radial-gradient(circle, transparent 1.7px, rgba(233, 239, 237, .13) 2.1px, rgba(233, 239, 237, .13) 2.5px, transparent 2.9px);
  background-size: 9px 15.6px; background-position: 0 0, 4.5px 7.8px; -webkit-mask-image: linear-gradient(#000, transparent); mask-image: linear-gradient(#000, transparent); }
body.s-kapper-d .vv-voet .vv-w { position: relative; }
body.s-kapper-d .vv-voet-top { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 30px; padding-bottom: 70px; border-bottom: 1px solid rgba(255, 255, 255, .14); }
body.s-kapper-d .vv-merk-licht { color: #fff; }
body.s-kapper-d .vv-merk-licht .vv-merk-naam { font-size: 64px; }
body.s-kapper-d .vv-merk-licht .vv-merk-naam i { color: var(--honing); }
body.s-kapper-d .vv-merk-licht .vv-merk-sub { color: #a9b8b5; }
body.s-kapper-d .vv-voet-zin { font: 400 26px/1.35 var(--serif); color: #e9efed; margin: 0; }
body.s-kapper-d .vv-voet-zin em { color: var(--honing); }
body.s-kapper-d .vv-voet-kol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; padding: 60px 0; }
body.s-kapper-d .vv-voet h2 { font: 500 13px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--honing); margin-bottom: 18px; }
body.s-kapper-d .vv-voet p { font-size: 16px; }
body.s-kapper-d .vv-voet a { color: #fff; text-decoration-color: rgba(214, 153, 94, .6); text-underline-offset: 4px; }
body.s-kapper-d .vv-voet .vv-klein { color: #a9b8b5; font-size: 14px; }
body.s-kapper-d .vv-voet ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 16px; }
body.s-kapper-d .vv-voet ul a { text-decoration: none; }
body.s-kapper-d .vv-voet ul a:hover { text-decoration: underline; }
body.s-kapper-d .vv-voet .vv-tijden div { padding: 5px 0; font-size: 15px; }
body.s-kapper-d .vv-voet .vv-tijden dt { color: #a9b8b5; }
body.s-kapper-d .vv-voet-bodem { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 30px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 14px; color: #a9b8b5; }

/* Honing op groenblauw: lichtere tint voor leesbaarheid */
body.s-kapper-d .vv-vergoed .vv-bedrag span, body.s-kapper-d .vv-vergoedkaart .vv-bedrag span, body.s-kapper-d .vv-vergoed .vv-vergoed-stappen li::before { color: var(--honing-l); }

/* ── Tablet ── */
@media (max-width: 1180px) {
  body.s-kapper-d .vv-rij { gap: 22px; }
  body.s-kapper-d .vv-nav { gap: 20px; }
  body.s-kapper-d .vv-tel { display: none; }
  body.s-kapper-d .vv-merk-naam { font-size: 38px; }
  body.s-kapper-d .vv-tl-lijst { grid-template-columns: repeat(3, 1fr); gap: 50px 0; }
  body.s-kapper-d .vv-tl-lijst::before, body.s-kapper-d .vv-tl-lijst li::before { display: none; }
  body.s-kapper-d .vv-reken-rij { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
}

/* ── Mobiel: kop met Menu-knop links, naam in het midden, bellen rechts ── */
@media (max-width: 900px) {
  body.s-kapper-d { font-size: 17px; }
  body.s-kapper-d .vv-w { padding: 0 22px; }
  body.s-kapper-d .vv-lijn { padding: 8px 22px; font-size: 12px; }
  body.s-kapper-d .vv-lijn p { display: none; }
  body.s-kapper-d .vv-lijn { justify-content: center; }
  body.s-kapper-d .vv-rij { grid-template-columns: 64px 1fr 64px; padding: 14px 16px 16px; gap: 8px; }
  body.s-kapper-d .vv-nav { display: none; }
  body.s-kapper-d .vv-burger { display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--petrol); }
  body.s-kapper-d .vv-streep { width: 26px; height: 9px; border-top: 1.5px solid var(--petrol); border-bottom: 1.5px solid var(--petrol); transition: transform .3s; }
  body.s-kapper-d .vv-belrond { display: grid; place-items: center; justify-self: end; width: 46px; height: 46px; border-radius: 50%; background: var(--petrol); color: #fff; }
  body.s-kapper-d .vv-belrond .vv-ic { width: 20px; height: 20px; }
  body.s-kapper-d .vv-merk-naam { font-size: 32px; }
  body.s-kapper-d .vv-merk-sub { font-size: 9px; letter-spacing: .36em; margin-top: 7px; }
  body.s-kapper-d .vv-toggle:checked ~ .vv-paneel { display: block; }
  body.s-kapper-d .vv-toggle:checked ~ .vv-rij .vv-streep { transform: scaleY(0.2); }
  body.s-kapper-d .vv-paneel { padding: 10px 22px 34px; border-top: 1px solid var(--lijn); background: var(--wit); }
  body.s-kapper-d .vv-paneel nav { display: flex; flex-direction: column; margin-bottom: 26px; }
  body.s-kapper-d .vv-paneel .vv-nl { font: 400 30px/1.2 var(--serif); padding: 14px 0; border-bottom: 1px solid var(--lijn); color: var(--petrol); }
  body.s-kapper-d .vv-paneel .vv-nl::after { display: none; }
  body.s-kapper-d .vv-paneel .vv-nl.is-actief { color: var(--honing-t); }
  body.s-kapper-d .vv-paneel .vv-kopknop { display: block; text-align: center; padding: 17px; font-size: 17px; border-radius: 0 40px 40px 0; }
  body.s-kapper-d .vv-paneel p { margin: 20px 0 0; text-align: center; color: var(--zacht); font-size: 15px; }
  body.s-kapper-d .vv-paneel p a { color: var(--petrol); font-weight: 500; }

  body.s-kapper-d .vv-open { grid-template-columns: 1fr; min-height: 0; }
  body.s-kapper-d .vv-open-foto { min-height: 0; aspect-ratio: 4 / 5; }
  body.s-kapper-d .vv-open-foto .vv-onderschrift { left: 16px; right: 16px; top: 16px; font-size: 13px; }
  body.s-kapper-d .vv-open-tekst { padding: 48px 22px 60px; }
  body.s-kapper-d .vv-citaat p { font-size: 34px; text-indent: 0; }
  body.s-kapper-d .vv-handtekening { margin-bottom: 30px; }
  body.s-kapper-d .vv-open h1 { font-size: 18px; }

  body.s-kapper-d .vv-routes { padding: 80px 0; }
  body.s-kapper-d .vv-routes-grid { grid-template-columns: 1fr; gap: 30px; }
  body.s-kapper-d .vv-routes-kop h2 { font-size: 38px; }
  body.s-kapper-d .vv-routes-lijst a { grid-template-columns: 1fr 24px; gap: 8px 16px; padding: 22px 0; }
  body.s-kapper-d .vv-r-t { font-size: 24px; grid-column: 1; }
  body.s-kapper-d .vv-r-p { grid-column: 1; grid-row: 2; }
  body.s-kapper-d .vv-routes-lijst .vv-ic { grid-column: 2; grid-row: 1 / span 2; }

  body.s-kapper-d .vv-plak { grid-template-columns: 1fr; }
  body.s-kapper-d .vv-plak-foto { position: relative; top: 0; height: auto; min-height: 0; padding: 22px 22px 0; }
  body.s-kapper-d .vv-plak-foto .vv-foto { aspect-ratio: 4 / 3; flex: none; height: auto; }
  body.s-kapper-d .vv-plak-om .vv-plak-foto { order: 0; }
  body.s-kapper-d .vv-plak-tekst, body.s-kapper-d .vv-plak-om .vv-plak-tekst { padding: 40px 22px 80px; max-width: none; }
  body.s-kapper-d .vv-plak-tekst h2 { font-size: 34px; }
  body.s-kapper-d .vv-lead { font-size: 19px; }
  body.s-kapper-d .vv-moment { padding: 30px 0; }
  body.s-kapper-d .vv-moment h3 { font-size: 25px; }

  body.s-kapper-d .vv-tl { padding: 90px 0 80px; }
  body.s-kapper-d .vv-tl-kop { grid-template-columns: 1fr; gap: 20px; margin-bottom: 50px; }
  body.s-kapper-d .vv-tl-kop h2 { font-size: 36px; }
  body.s-kapper-d .vv-tl-lijst { grid-template-columns: 1fr; gap: 0; }
  body.s-kapper-d .vv-tl-lijst li { display: grid; grid-template-columns: 84px 1fr; gap: 0 18px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .14); }
  body.s-kapper-d .vv-tl-beeld { grid-row: 1 / span 2; height: auto; margin: 0; }
  body.s-kapper-d .vv-groei { width: 80px; height: 64px; }
  body.s-kapper-d .vv-tl-lijst h3 { font-size: 21px; margin-bottom: 6px; }

  body.s-kapper-d .vv-staal { grid-template-columns: 72px 1fr; gap: 18px; }
  body.s-kapper-d .vv-staal-lap { width: 72px; height: 72px; }
  body.s-kapper-d .vv-staal h3 { font-size: 21px; }

  body.s-kapper-d .vv-vergoed { padding: 80px 0; }
  body.s-kapper-d .vv-vergoed-grid { grid-template-columns: 1fr; gap: 30px; }
  body.s-kapper-d .vv-vergoed-grid > .vv-knop { grid-column: 1; }
  body.s-kapper-d .vv-bedrag { font-size: 58px; }
  body.s-kapper-d .vv-vergoedkaart .vv-bedrag { font-size: 54px; }

  body.s-kapper-d .vv-slot { padding: 80px 0; }
  body.s-kapper-d .vv-slot-grid { grid-template-columns: 1fr; gap: 40px; }
  body.s-kapper-d .vv-slot h2 { font-size: 36px; }
  body.s-kapper-d .vv-groottel { font-size: 38px !important; }

  body.s-kapper-d .vv-pk { padding: 70px 0 64px; }
  body.s-kapper-d .vv-pk-kant { width: 480px; }
  body.s-kapper-d .vv-pk h1 { font-size: 38px; }
  body.s-kapper-d .vv-pk-intro { font-size: 18px; }
  body.s-kapper-d .vv-sprong a { font-size: 14px; }

  body.s-kapper-d .vv-punten, body.s-kapper-d .vv-feiten { grid-template-columns: 1fr; }
  body.s-kapper-d .vv-vergelijk, body.s-kapper-d .vv-maatwerk, body.s-kapper-d .vv-rekenen, body.s-kapper-d .vv-regelen,
  body.s-kapper-d .vv-team, body.s-kapper-d .vv-studio, body.s-kapper-d .vv-werkwijze, body.s-kapper-d .vv-vragen { padding: 80px 0; }
  body.s-kapper-d .vv-vergelijk-kop, body.s-kapper-d .vv-maatwerk-grid, body.s-kapper-d .vv-regelen-grid, body.s-kapper-d .vv-studio-grid,
  body.s-kapper-d .vv-werkwijze-grid, body.s-kapper-d .vv-vragen-grid { grid-template-columns: 1fr; gap: 30px; }
  body.s-kapper-d .vv-vergelijk-kop h2, body.s-kapper-d .vv-maatwerk h2, body.s-kapper-d .vv-rekenen-kop h2, body.s-kapper-d .vv-regelen h2,
  body.s-kapper-d .vv-team h2, body.s-kapper-d .vv-studio h2, body.s-kapper-d .vv-werkwijze-kop h2, body.s-kapper-d .vv-vragen-kop h2, body.s-kapper-d .vv-band h2 { font-size: 34px; }
  body.s-kapper-d .vv-tabel { font-size: 15px; }
  body.s-kapper-d .vv-tabel thead th { font-size: 21px; }
  body.s-kapper-d .vv-tabel tbody th { font-size: 12px; width: 28%; }
  body.s-kapper-d .vv-regel-lijst { grid-template-columns: 1fr; gap: 30px; }
  body.s-kapper-d .vv-werkwijze-kop, body.s-kapper-d .vv-vragen-kop { position: static; }
  body.s-kapper-d .vv-vragen-kant { display: none; }
  body.s-kapper-d .vv-team-rij { grid-template-columns: 1fr; gap: 50px; }
  body.s-kapper-d .vv-team-foto .vv-foto { aspect-ratio: 4 / 3; }
  body.s-kapper-d .vv-pull p { font-size: 25px; }
  body.s-kapper-d .vv-stappen li { grid-template-columns: 48px 1fr; gap: 16px; }
  body.s-kapper-d .vv-stap-n { font-size: 40px; }
  body.s-kapper-d .vv-band { padding: 80px 0; }
  body.s-kapper-d .vv-vergoedkaart, body.s-kapper-d .vv-contactkaart { padding: 50px 22px; border-left: 0; }
  body.s-kapper-d .vv-contact .vv-plak-tekst { padding-top: 50px; }
  body.s-kapper-d .vv-velden { grid-template-columns: 1fr; }
  body.s-kapper-d .vv-prijslijst li { flex-direction: column; gap: 4px; }
  body.s-kapper-d .vv-pr-p { text-align: left; }
  body.s-kapper-d .vv-vraag summary { font-size: 20px; }

  body.s-kapper-d .vv-voet { padding: 80px 0 30px; }
  body.s-kapper-d .vv-merk-licht .vv-merk-naam { font-size: 46px; }
  body.s-kapper-d .vv-voet-zin { font-size: 22px; }
  body.s-kapper-d .vv-voet-kol { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
}
@media (max-width: 520px) {
  body.s-kapper-d .vv-voet-kol { grid-template-columns: 1fr; }
  body.s-kapper-d .vv-bedrag { font-size: 50px; }
}
