/* Beeldkracht Video (fotograaf C) — "de montagetafel". N4 / H6 / R1.
   Lettertypes: Epilogue (OFL, Etcetera Type Co) en JetBrains Mono (OFL, JetBrains). */
@font-face { font-family: "BK Epilogue"; font-weight: 100 900; font-display: swap; src: url("../../fonts/Epilogue-Variable.woff2") format("woff2"); }
@font-face { font-family: "BK Epilogue"; font-weight: 100 900; font-style: italic; font-display: swap; src: url("../../fonts/Epilogue-VariableItalic.woff2") format("woff2"); }
@font-face { font-family: "BK Mono"; font-weight: 100 800; font-display: swap; src: url("../../fonts/JetBrainsMono-Variable.woff2") format("woff2"); }

@property --bk-s { syntax: "<integer>"; inherits: true; initial-value: 41; }
@property --bk-f { syntax: "<integer>"; inherits: true; initial-value: 12; }
@property --bk-m { syntax: "<integer>"; inherits: true; initial-value: 0; }
@property --bk-ss { syntax: "<integer>"; inherits: true; initial-value: 41; }

body.s-fotograaf-c {
  --zw: #111214; --zw2: #191b1f; --zw3: #23262c; --lijn: #30343b; --lijn2: #454a52;
  --wit: #f1efe9; --grijs: #a5aab2;
  --pp: #f2efe8; --pp2: #e5e1d6; --inkt: #15161a; --grijs-l: #585b61; --lijn-l: #cfc9bc;
  --vi: #2a2150; --vi-l: #b9a7f3; --clip: #6b52c2; --titel: #8a4f86; --audio: #1e4a37; --golf: #82d4a8;
  --rood: #ff4438; --rood-d: #d42a1f; --geel: #e7b84b;
  --a: #6b52c2; --a2: #ff4438; --bg2: #24262d;
  --gut: clamp(16px, 4vw, 48px);
  margin: 0; background: var(--zw); color: var(--wit);
  font: 400 17px/1.62 "BK Epilogue", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body.s-fotograaf-c:has(.bk-menu-check:checked) { overflow: hidden; }
.s-fotograaf-c a { color: inherit; }
.s-fotograaf-c h1, .s-fotograaf-c h2, .s-fotograaf-c h3 { font-family: "BK Epilogue", sans-serif; margin: 0; text-wrap: balance; }
.s-fotograaf-c p { margin: 0 0 1em; }
.s-fotograaf-c .bk-w { max-width: 1240px; margin: 0 auto; padding-inline: var(--gut); }
.s-fotograaf-c .bk-mono { font: 500 12.5px/1.5 "BK Mono", ui-monospace, monospace; letter-spacing: .04em; text-transform: uppercase; }
.s-fotograaf-c .bk-dim { color: var(--grijs); }
.s-fotograaf-c .bk-papier .bk-dim { color: var(--grijs-l); }
.s-fotograaf-c .bk-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; max-width: 40em; }
.s-fotograaf-c :focus-visible { outline: 2px solid var(--vi-l); outline-offset: 3px; }

/* ── Banden (R1) ── */
.s-fotograaf-c .bk-band { padding-block: clamp(72px, 9vw, 136px); position: relative; }
.s-fotograaf-c .bk-zwart { background: var(--zw); color: var(--wit); }
.s-fotograaf-c .bk-papier { background: var(--pp); color: var(--inkt); }
.s-fotograaf-c .bk-violet { background: var(--vi); color: var(--wit); }
.s-fotograaf-c .bk-beeld { padding: 0; background: #000; }
.s-fotograaf-c .bk-zwart + .bk-zwart { border-top: 1px solid var(--lijn); }
.s-fotograaf-c h2 { font-size: clamp(32px, 4.3vw, 58px); font-weight: 780; line-height: 1.03; letter-spacing: -.032em; }
.s-fotograaf-c .bk-sec-kop { max-width: 820px; margin-bottom: clamp(40px, 5vw, 64px); }
.s-fotograaf-c .bk-sec-kop h2 { margin-bottom: 20px; }
.s-fotograaf-c .bk-sec-kop > p:last-child { font-size: 18px; color: inherit; opacity: .86; max-width: 36em; margin: 0; }
.s-fotograaf-c .bk-sec-rij { max-width: none; display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px 64px; align-items: end; }
.s-fotograaf-c .bk-tcregel { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-bottom: 22px; color: var(--grijs); }
.s-fotograaf-c .bk-papier .bk-tcregel { color: var(--grijs-l); }
.s-fotograaf-c .bk-violet .bk-tcregel { color: #cfc6ee; }
.s-fotograaf-c .bk-in { display: inline-block; padding: 2px 7px; border: 1px solid currentColor; border-radius: 2px; font-size: 11px; line-height: 1.3; }
.s-fotograaf-c .bk-rec { display: inline-flex; align-items: center; gap: 7px; color: var(--wit); }
.s-fotograaf-c .bk-rec::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--rood); box-shadow: 0 0 0 3px #ff443833; animation: bk-knipper 1.6s steps(2, jump-none) infinite; }
@keyframes bk-knipper { 50% { opacity: .25; } }
.s-fotograaf-c .bk-meer { margin: 44px 0 0; font-weight: 600; }
.s-fotograaf-c .bk-meer a { text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.s-fotograaf-c .bk-meer a span { margin-left: 6px; }
.s-fotograaf-c .bk-meer a:hover { color: var(--vi-l); }
.s-fotograaf-c .bk-papier .bk-meer a:hover { color: var(--clip); }
.s-fotograaf-c .bk-midden { text-align: center; }

/* ── Knoppen: een clip tussen in- en uitpunt ── */
.s-fotograaf-c .bk-knoppen { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.s-fotograaf-c .bk-knop { position: relative; display: inline-flex; align-items: center; margin-inline: 11px; padding: 15px 24px; font: 640 15.5px/1.2 "BK Epilogue", sans-serif;
  letter-spacing: -.005em; text-decoration: none; background: var(--inkt); color: var(--wit); border: 0; border-radius: 1px; cursor: pointer; transition: background .2s; }
.s-fotograaf-c .bk-knop::before, .s-fotograaf-c .bk-knop::after { content: ""; position: absolute; top: -5px; bottom: -5px; width: 7px; border: 2px solid currentColor; color: var(--inkt); transition: transform .25s ease; }
.s-fotograaf-c .bk-knop::before { left: -11px; border-right: 0; }
.s-fotograaf-c .bk-knop::after { right: -11px; border-left: 0; }
.s-fotograaf-c .bk-knop:hover::before { transform: translateX(-4px); }
.s-fotograaf-c .bk-knop:hover::after { transform: translateX(4px); }
.s-fotograaf-c .bk-knop:hover { background: var(--clip); }
.s-fotograaf-c .bk-knop.bk-licht { background: var(--wit); color: var(--inkt); }
.s-fotograaf-c .bk-knop.bk-licht::before, .s-fotograaf-c .bk-knop.bk-licht::after { color: var(--wit); }
.s-fotograaf-c .bk-knop.bk-licht:hover { background: var(--vi-l); }
.s-fotograaf-c .bk-knop.bk-rand { background: transparent; color: var(--wit); box-shadow: inset 0 0 0 1px var(--lijn2); }
.s-fotograaf-c .bk-knop.bk-rand::before, .s-fotograaf-c .bk-knop.bk-rand::after { color: var(--lijn2); }
.s-fotograaf-c .bk-knop.bk-rand:hover { background: var(--zw3); }

/* ── Kop (N4) ── */
.s-fotograaf-c .bk-kop { background: var(--zw); position: relative; border-bottom: 1px solid var(--lijn); }
.s-fotograaf-c .bk-kop-rij { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; max-width: none; }
.s-fotograaf-c .bk-logo { display: inline-flex; align-items: baseline; gap: 8px; text-decoration: none; color: var(--wit); white-space: nowrap; }
.s-fotograaf-c .bk-logo-kop { display: inline-block; width: 13px; color: var(--rood); align-self: center; transform: translateY(-1px); }
.s-fotograaf-c .bk-logo-kop svg { display: block; width: 13px; height: 20px; }
.s-fotograaf-c .bk-logo-naam { font-weight: 820; font-size: 23px; letter-spacing: -.035em; }
.s-fotograaf-c .bk-logo-sub { font: 500 11px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .12em; color: var(--grijs); }
.s-fotograaf-c .bk-kop-r { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 30px); }
.s-fotograaf-c .bk-ods { font: 500 12px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .06em; color: var(--wit); text-decoration: none; border-bottom: 1px dashed var(--lijn2); padding-bottom: 2px; }
.s-fotograaf-c .bk-ods:hover, .s-fotograaf-c .bk-ods[aria-current] { border-bottom-color: var(--vi-l); color: var(--vi-l); }
.s-fotograaf-c .bk-kop-cta { font-weight: 640; font-size: 15px; text-decoration: none; padding: 9px 16px; border: 1px solid var(--lijn2); border-radius: 1px; }
.s-fotograaf-c .bk-kop-cta:hover { background: var(--wit); color: var(--inkt); }
.s-fotograaf-c .bk-menu-check { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.s-fotograaf-c .bk-menu-knop { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 700; font-size: 16px; padding: 10px 0 10px 4px; user-select: none; }
.s-fotograaf-c .bk-menu-knop i { position: relative; width: 26px; height: 10px; border-top: 2px solid var(--wit); border-bottom: 2px solid var(--wit); }
.s-fotograaf-c .bk-menu-knop i::after { content: ""; position: absolute; left: 9px; top: -7px; width: 2px; height: 20px; background: var(--rood); }
.s-fotograaf-c .bk-mk-dicht { display: none; }
.s-fotograaf-c .bk-menu-check:focus-visible + .bk-menu-knop { outline: 2px solid var(--vi-l); outline-offset: 4px; }

.s-fotograaf-c .bk-menu-zwevend { position: fixed; right: 18px; bottom: 18px; z-index: 90; width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
  background: var(--zw); color: var(--wit); border: 1px solid var(--lijn2); box-shadow: 0 10px 30px #0006; font-weight: 700; font-size: 14px; }
.s-fotograaf-c .bk-menu-zwevend::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; border: 2px solid transparent; border-top-color: var(--rood); }
.s-fotograaf-c .bk-menu-zwevend:hover { background: var(--clip); }
@supports (animation-timeline: scroll()) {
  .s-fotograaf-c .bk-menu-zwevend { animation: bk-zweef linear both; animation-timeline: scroll(root); animation-range: 240px 420px; }
  @keyframes bk-zweef { from { opacity: 0; transform: scale(.6); visibility: hidden; } to { opacity: 1; transform: none; visibility: visible; } }
}
.s-fotograaf-c .bk-menu-check:checked ~ .bk-menu-zwevend { animation: none; opacity: 1; visibility: visible; transform: none; background: var(--wit); color: var(--inkt); }
.s-fotograaf-c .bk-menu-check:checked ~ .bk-menu-zwevend span { font-size: 0; }
.s-fotograaf-c .bk-menu-check:checked ~ .bk-menu-zwevend span::after { content: "Sluiten"; font-size: 13px; }

/* Overlay: het montagescherm */
.s-fotograaf-c .bk-overlay { position: fixed; inset: 0; z-index: 80; background: var(--zw); color: var(--wit); overflow-y: auto; opacity: 0; visibility: hidden;
  transition: opacity .3s ease, visibility 0s .3s; background-image: linear-gradient(90deg, transparent calc(100% - 1px), #ffffff08 0); background-size: 8.333% 100%; }
.s-fotograaf-c .bk-menu-check:checked ~ .bk-overlay { opacity: 1; visibility: visible; transition: opacity .3s ease; }
.s-fotograaf-c .bk-ov-binnen { max-width: 1240px; min-height: 100%; display: flex; flex-direction: column; padding-block: 18px 110px; }
.s-fotograaf-c .bk-ov-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: clamp(28px, 5vh, 56px); }
.s-fotograaf-c .bk-ov-sluit { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 700; font-size: 16px; }
.s-fotograaf-c .bk-ov-sluit i { position: relative; width: 22px; height: 22px; }
.s-fotograaf-c .bk-ov-sluit i::before, .s-fotograaf-c .bk-ov-sluit i::after { content: ""; position: absolute; left: 0; top: 10px; width: 22px; height: 2px; background: var(--wit); transform: rotate(45deg); }
.s-fotograaf-c .bk-ov-sluit i::after { transform: rotate(-45deg); background: var(--rood); }
.s-fotograaf-c .bk-ov-sluit:hover { color: var(--vi-l); }
.s-fotograaf-c .bk-tl-hint { display: none; margin: 12px auto 0; color: var(--grijs); font-size: 11px; }
.s-fotograaf-c .bk-ov-titel { color: var(--grijs); margin-bottom: 18px; }
.s-fotograaf-c .bk-ov-lijst { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--lijn); }
.s-fotograaf-c .bk-ov-item a { position: relative; display: grid; grid-template-columns: 150px 1fr auto; gap: 8px 24px; align-items: baseline; padding: clamp(10px, 1.6vh, 18px) 0; text-decoration: none; border-top: 1px solid var(--lijn); }
.s-fotograaf-c .bk-ov-tc { font: 500 13px "BK Mono", monospace; color: var(--grijs); }
.s-fotograaf-c .bk-ov-naam { font-weight: 800; font-size: clamp(38px, 6.4vw, 88px); line-height: 1; letter-spacing: -.045em; transition: color .2s, transform .25s; }
.s-fotograaf-c .bk-ov-uitleg { color: var(--grijs); font-size: 15px; text-align: right; }
.s-fotograaf-c .bk-ov-item a:hover .bk-ov-naam { color: var(--vi-l); transform: translateX(10px); }
.s-fotograaf-c .bk-ov-item.bk-nu .bk-ov-tc { color: var(--rood); }
.s-fotograaf-c .bk-ov-item.bk-nu a::before { content: ""; position: absolute; left: 132px; top: 12%; bottom: 12%; width: 2px; background: var(--rood); }
.s-fotograaf-c .bk-ov-tijdlijn { position: relative; height: 30px; margin: 26px 0 40px; }
.s-fotograaf-c .bk-ov-tijdlijn i { position: absolute; top: 0; width: 12px; height: 14px; margin-left: -1px; background: var(--clip); clip-path: polygon(0 0, 100% 0, 100% 60%, 50% 100%, 0 60%); }
.s-fotograaf-c .bk-ov-tijdlijn i.bk-nu { background: var(--rood); }
.s-fotograaf-c .bk-ov-voet { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 28px 40px; margin-top: auto; font-size: 15.5px; }
.s-fotograaf-c .bk-ov-voet p { margin: 0 0 6px; }
.s-fotograaf-c .bk-ov-voet a { text-decoration: none; }
.s-fotograaf-c .bk-ov-voet a:hover { color: var(--vi-l); }
.s-fotograaf-c .bk-ov-tijden { list-style: none; padding: 0; margin: 0; }
.s-fotograaf-c .bk-ov-tijden span { color: var(--grijs); }
.s-fotograaf-c .bk-ov-acties { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.s-fotograaf-c .bk-ov-ods { font: 500 12px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px dashed var(--lijn2); }

/* Liniaal (tijdcode-streepjes) */
.s-fotograaf-c .bk-lin-streepjes { position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, #6c727c 0 1px, transparent 1px 12.5%) left bottom / 100% 14px no-repeat,
              repeating-linear-gradient(90deg, #3d424a 0 1px, transparent 1px 2.0833%) left bottom / 100% 7px no-repeat;
  border-bottom: 1px solid var(--lijn2); }
.s-fotograaf-c .bk-liniaal { position: relative; height: 40px; margin: clamp(48px, 6vw, 80px) var(--gut) 0; max-width: 1240px; }
@media (min-width: 1336px) { .s-fotograaf-c .bk-liniaal { margin-inline: auto; width: calc(1240px - 2 * var(--gut)); } }
.s-fotograaf-c .bk-lin-kop { position: absolute; top: 0; bottom: -1px; width: 2px; background: var(--rood); }
.s-fotograaf-c .bk-lin-kop::before { content: ""; position: absolute; left: -6px; top: 0; width: 14px; height: 12px; background: var(--rood); clip-path: polygon(0 0, 100% 0, 100% 55%, 50% 100%, 0 55%); }
.s-fotograaf-c .bk-lin-kop.bk-links .bk-lin-tc { left: auto; right: 12px; }
.s-fotograaf-c .bk-lin-tc { position: absolute; left: 12px; top: -2px; font: 500 11px "BK Mono", monospace; background: var(--rood-d); color: #fff; padding: 1px 6px; border-radius: 2px; white-space: nowrap; }

/* ── Opening (H6): de montagetijdlijn ── */
.s-fotograaf-c .bk-opening { padding-block: clamp(48px, 6vw, 84px) clamp(64px, 7vw, 104px); }
.s-fotograaf-c .bk-open-kop h1 { font-size: clamp(46px, 7.6vw, 118px); font-weight: 830; line-height: .94; letter-spacing: -.048em; max-width: 12.5em; }
.s-fotograaf-c .bk-open-kop h1 em { font-style: italic; font-weight: 300; color: var(--vi-l); letter-spacing: -.035em; }
.s-fotograaf-c .bk-tl-scroll { margin-top: clamp(40px, 5vw, 64px); padding-inline: var(--gut); overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--lijn2) transparent; }
.s-fotograaf-c .bk-tl { --r0: 26px; --r1: 28px; --r2: clamp(170px, 19vw, 280px); --r3: 50px; --r4: 34px;
  display: grid; grid-template-columns: 48px 1fr; min-width: 940px; max-width: 1560px; margin: 0 auto; background: var(--zw2); border: 1px solid var(--lijn); border-radius: 6px; overflow: hidden;
  box-shadow: 0 30px 80px -30px #000; }
.s-fotograaf-c .bk-tl-sporen { display: grid; grid-template-rows: var(--r0) var(--r1) var(--r2) var(--r3) var(--r4); background: var(--zw3); border-right: 1px solid var(--lijn); }
.s-fotograaf-c .bk-tl-sporen span { display: grid; place-items: center; font: 500 10.5px "BK Mono", monospace; color: var(--grijs); border-top: 1px solid var(--lijn); }
.s-fotograaf-c .bk-tl-sporen .bk-sp-hoofd { border-top: 0; color: #7d828b; }
.s-fotograaf-c .bk-tl-sporen .bk-sp-v1 { color: var(--wit); background: #2d2a3d; }
.s-fotograaf-c .bk-tl-veld { position: relative; display: grid; grid-template-rows: var(--r0) var(--r1) var(--r2) var(--r3) var(--r4); padding-right: 0; }
.s-fotograaf-c .bk-tl-liniaal { position: relative;
  background: repeating-linear-gradient(90deg, #737983 0 1px, transparent 1px 12.5%) left bottom / 100% 11px no-repeat,
              repeating-linear-gradient(90deg, #40454d 0 1px, transparent 1px 1.5625%) left bottom / 100% 5px no-repeat; }
.s-fotograaf-c .bk-tl-liniaal span { position: absolute; top: 3px; padding-left: 5px; font: 400 10px "BK Mono", monospace; color: #8b9099; }
.s-fotograaf-c .bk-spoor { display: flex; gap: 2px; padding: 3px 0; border-top: 1px solid var(--lijn); min-width: 0; }
.s-fotograaf-c .bk-spoor > * { flex: var(--w) 1 0; min-width: 0; }
.s-fotograaf-c .bk-titel-clip { background: var(--titel); border-radius: 2px; font: 500 10px/20px "BK Mono", monospace; color: #fff; padding: 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.s-fotograaf-c .bk-ot-clip { background: #5c6370; }
.s-fotograaf-c .bk-clip { position: relative; border-radius: 3px; overflow: hidden; background: var(--clip); padding-top: 18px; box-shadow: inset 0 0 0 1px #ffffff2e; }
.s-fotograaf-c .bk-clip:nth-child(2) { box-shadow: inset 0 0 0 2px #fff; }
.s-fotograaf-c .bk-clip-naam { position: absolute; z-index: 2; inset: 0 0 auto; height: 18px; padding: 2px 7px; font: 500 10px/14px "BK Mono", monospace; color: #fff; background: var(--clip); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.s-fotograaf-c .bk-clip:nth-child(2) .bk-clip-naam { background: #7d66d0; }
.s-fotograaf-c .bk-clip-foto { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; border-radius: 0; }
.s-fotograaf-c .bk-clip .ph-cap { font-size: 10.5px; left: 6px; right: 6px; bottom: 6px; padding: 4px 7px; }
.s-fotograaf-c .bk-audio { position: relative; background: var(--audio); border-radius: 3px; overflow: hidden; box-shadow: inset 0 0 0 1px #ffffff1a; }
.s-fotograaf-c .bk-audio svg { position: absolute; inset: 4px 0 2px; width: 100%; height: calc(100% - 6px); fill: var(--golf); opacity: .9; }
.s-fotograaf-c .bk-audio span { position: absolute; left: 7px; top: 2px; font: 500 10px "BK Mono", monospace; color: #d9f3e5; text-shadow: 0 1px 2px #0009; }
.s-fotograaf-c .bk-muziek { background: #173a2c; }
.s-fotograaf-c .bk-muziek svg { fill: #5fae86; }
.s-fotograaf-c .bk-afspeelkop { position: absolute; top: 0; bottom: 0; left: 34.2%; width: 2px; margin-left: -1px; background: var(--rood); z-index: 5; pointer-events: none;
  animation: bk-kop 120s linear infinite, bk-sec 120s linear infinite, bk-fr 1s steps(25, jump-none) infinite; animation-delay: -41s, -41s, 0s; }
.s-fotograaf-c .bk-afspeelkop::before { content: ""; position: absolute; left: -7px; top: 0; width: 16px; height: 14px; background: var(--rood); clip-path: polygon(0 0, 100% 0, 100% 55%, 50% 100%, 0 55%); }
.s-fotograaf-c .bk-ak-tc { position: absolute; left: 12px; top: 4px; --bk-m: calc((var(--bk-s) - 30) / 60); --bk-ss: calc(var(--bk-s) - var(--bk-m) * 60);
  counter-reset: m var(--bk-m) s var(--bk-ss) f var(--bk-f); background: var(--rood-d); color: #fff; font: 600 10.5px/1 "BK Mono", monospace; padding: 3px 6px; border-radius: 2px; white-space: nowrap; }
.s-fotograaf-c .bk-ak-tc::after { content: "00:0" counter(m) ":" counter(s, decimal-leading-zero) ":" counter(f, decimal-leading-zero); }
@keyframes bk-kop { from { left: 0%; } to { left: 100%; } }
@keyframes bk-sec { from { --bk-s: 0; } to { --bk-s: 120; } }
@keyframes bk-fr { from { --bk-f: 0; } to { --bk-f: 24; } }
@media (prefers-reduced-motion: reduce) {
  .s-fotograaf-c .bk-afspeelkop { animation: none; left: 34.2%; }
  .s-fotograaf-c .bk-rec::before { animation: none; }
}
.s-fotograaf-c .bk-open-onder { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px 64px; align-items: start; margin-top: clamp(40px, 5vw, 60px); }
.s-fotograaf-c .bk-open-onder .bk-lead { margin: 0; color: #dcd9d2; }
.s-fotograaf-c .bk-open-onder .bk-knoppen { justify-content: flex-end; padding-top: 6px; }
.s-fotograaf-c .bk-specs { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 0; margin: 12px 0 0; color: var(--grijs); border-top: 1px solid var(--lijn); padding-top: 18px; }
.s-fotograaf-c .bk-specs span + span::before { content: "·"; margin: 0 14px; color: var(--lijn2); }

/* ── Formaten (diensten op home) ── */
.s-fotograaf-c .bk-kaders { display: grid; grid-template-columns: 1.75fr .95fr 1.95fr 1.05fr; grid-template-rows: auto auto auto 1fr auto; gap: 0 30px; }
.s-fotograaf-c .bk-kader { display: grid; grid-row: span 5; grid-template-rows: subgrid; text-decoration: none; color: var(--inkt); }
.s-fotograaf-c .bk-kader > .bk-kader-beeld { align-self: end; }
.s-fotograaf-c .bk-kader-beeld { display: block; position: relative; overflow: hidden; background: #0b0b0c; margin-bottom: 16px; }
.s-fotograaf-c .bk-r169 .bk-kader-beeld { aspect-ratio: 16 / 9; }
.s-fotograaf-c .bk-r916 .bk-kader-beeld { aspect-ratio: 9 / 16; border-radius: 14px; box-shadow: 0 0 0 5px #0b0b0c; margin-inline: 5px; margin-top: 5px; margin-bottom: 21px; width: min(100% - 10px, 190px); }
.s-fotograaf-c .bk-r239 .bk-kader-beeld { aspect-ratio: 16 / 9; display: grid; align-items: center; }
.s-fotograaf-c .bk-r239 .bk-kader-beeld .bk-kf { aspect-ratio: 2.39 / 1; height: auto; }
.s-fotograaf-c .bk-r11 .bk-kader-beeld { aspect-ratio: 1; }
.s-fotograaf-c .bk-kf { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; transition: transform .5s ease; }
.s-fotograaf-c .bk-kader:hover .bk-kf { transform: scale(1.04); }
.s-fotograaf-c .bk-kader .ph-cap { font-size: 11px; }
.s-fotograaf-c .bk-seq { color: var(--grijs-l); font-size: 11px; margin-bottom: 8px; }
.s-fotograaf-c .bk-kader-t { font-weight: 760; font-size: 22px; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 6px; }
.s-fotograaf-c .bk-kader-k { font-size: 15.5px; color: #3b3d43; line-height: 1.45; margin-bottom: 10px; }
.s-fotograaf-c .bk-kader-p { font: 600 13px "BK Mono", monospace; color: var(--clip); text-transform: uppercase; letter-spacing: .03em; }
.s-fotograaf-c .bk-kader:hover .bk-kader-t { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ── Cinemascope met ondertitel ── */
.s-fotograaf-c .bk-scope-beeld { position: relative; background: #000; padding-block: clamp(26px, 5.2vw, 76px); }
.s-fotograaf-c .bk-scope-foto { width: 100%; aspect-ratio: 2.39 / 1; height: auto; min-height: 0; object-fit: cover; display: block; }
.s-fotograaf-c .bk-scope-hoog .bk-scope-foto { aspect-ratio: 2 / 1; }
.s-fotograaf-c .bk-scope .ph-cap { top: 12px; bottom: auto; }
.s-fotograaf-c .bk-ot { position: absolute; left: 50%; transform: translateX(-50%); bottom: calc(clamp(26px, 5.2vw, 76px) + 5.5%); width: min(90%, 900px); text-align: center; margin: 0; }
.s-fotograaf-c .bk-ot span { display: inline; background: #000000c4; color: #fff; font: 500 clamp(16px, 1.9vw, 27px)/1.55 "BK Epilogue", sans-serif; padding: 3px 12px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.s-fotograaf-c .bk-scope-bij { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 18px 22px; color: var(--grijs); background: #000; max-width: none; }
.s-fotograaf-c .bk-scope-bij a { color: var(--wit); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--lijn2); }
.s-fotograaf-c .bk-scope-bij a:hover { color: var(--vi-l); }

/* ── Werk op home ── */
.s-fotograaf-c .bk-werklijst { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--lijn); }
.s-fotograaf-c .bk-werkrij { display: grid; grid-template-columns: minmax(200px, 300px) 1fr minmax(200px, 300px); gap: 20px 40px; align-items: center; padding: 26px 0; border-top: 1px solid var(--lijn); text-decoration: none; transition: background .25s; }
.s-fotograaf-c .bk-werk-beeld { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
.s-fotograaf-c .bk-wf { width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .5s; }
.s-fotograaf-c .bk-werkrij:hover .bk-wf { transform: scale(1.05); }
.s-fotograaf-c .bk-werk-beeld .ph-cap { display: none; }
.s-fotograaf-c .bk-duur { position: absolute; right: 8px; bottom: 8px; background: #000c; color: #fff; padding: 2px 6px; font-size: 11px; border-radius: 2px; }
.s-fotograaf-c .bk-werk-t b { display: block; font-size: clamp(21px, 2vw, 27px); font-weight: 740; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 8px; }
.s-fotograaf-c .bk-werk-t span { color: var(--grijs); font-size: 16px; }
.s-fotograaf-c .bk-werkrij:hover .bk-werk-t b { color: var(--vi-l); }
.s-fotograaf-c .bk-werk-getal b { display: block; font-size: clamp(40px, 4.4vw, 62px); font-weight: 830; letter-spacing: -.045em; line-height: 1; color: var(--vi-l); }
.s-fotograaf-c .bk-werk-getal span { font: 500 12px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .04em; color: var(--grijs); }

/* ── Productiebalk (violet) ── */
.s-fotograaf-c .bk-prodbalk { list-style: none; margin: 0; padding: 0; display: flex; gap: 3px; }
.s-fotograaf-c .bk-prodbalk li { flex: var(--d) 1 0; min-width: 0; display: flex; flex-direction: column; }
.s-fotograaf-c .bk-prodbalk li > .bk-mono { display: block; height: 46px; padding: 6px 10px; border-radius: 3px; color: #17131f; font-size: 11px; margin-bottom: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--vi-l); }
.s-fotograaf-c .bk-prodbalk li:nth-child(2) > .bk-mono { background: #9b86e6; }
.s-fotograaf-c .bk-prodbalk li:nth-child(3) > .bk-mono { background: var(--rood-d); color: #fff; }
.s-fotograaf-c .bk-prodbalk li:nth-child(4) > .bk-mono { background: #7d66d0; color: #fff; }
.s-fotograaf-c .bk-prodbalk li:nth-child(5) > .bk-mono { background: var(--geel); }
.s-fotograaf-c .bk-prodbalk li:nth-child(6) > .bk-mono { background: var(--golf); }
.s-fotograaf-c .bk-prodbalk b { font-size: 19px; font-weight: 720; letter-spacing: -.015em; margin-bottom: 6px; padding-right: 8px; }
.s-fotograaf-c .bk-prodbalk li > span:last-child { font-size: 15px; color: #d9d3ee; padding-right: 10px; line-height: 1.45; }
.s-fotograaf-c .bk-violet .bk-meer a span { font: 500 11px "BK Mono", monospace; text-transform: uppercase; color: #cfc6ee; }

/* ── Aftiteling ── */
.s-fotograaf-c .bk-credits { text-align: center; padding-block: clamp(96px, 12vw, 180px); background: radial-gradient(60% 50% at 50% 50%, #1b1d22, var(--zw)); }
.s-fotograaf-c .bk-cr-boven { margin-bottom: 14px; }
.s-fotograaf-c .bk-cr-titel { font-weight: 820; font-size: clamp(38px, 5.6vw, 76px); letter-spacing: -.045em; line-height: 1; margin-bottom: clamp(48px, 6vw, 80px); }
.s-fotograaf-c .bk-cr-lijst { list-style: none; padding: 0; margin: 0 auto 56px; max-width: 760px; display: grid; gap: 22px; }
.s-fotograaf-c .bk-cr-lijst li { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 40px; align-items: baseline; }
.s-fotograaf-c .bk-cr-rol { text-align: right; font: 500 13px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .08em; color: var(--grijs); }
.s-fotograaf-c .bk-cr-naam { text-align: left; font-size: clamp(22px, 2.4vw, 30px); font-weight: 640; letter-spacing: -.02em; }
.s-fotograaf-c .bk-cr-bio { grid-column: 2; text-align: left; color: var(--grijs); font-size: 15.5px; line-height: 1.55; max-width: 26em; }
.s-fotograaf-c .bk-cr-tekst { max-width: 34em; margin: 0 auto; color: #d6d3cc; font-size: 18px; }
.s-fotograaf-c .bk-cr-lang { gap: 48px; max-width: 900px; margin-bottom: 0; }

/* ── Slotband ── */
.s-fotograaf-c .bk-slot { position: relative; min-height: clamp(480px, 74vh, 760px); display: flex; align-items: flex-end; overflow: hidden; }
.s-fotograaf-c .bk-slot-foto { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.s-fotograaf-c .bk-slot .ph-cap { top: 12px; bottom: auto; }
.s-fotograaf-c .bk-slot-schaduw { position: absolute; inset: 0; background: linear-gradient(180deg, #0000 20%, #000000d9 88%), linear-gradient(90deg, #000a, #0000 70%); pointer-events: none; }
.s-fotograaf-c .bk-slot-in { position: relative; width: 100%; padding-block: 72px clamp(56px, 7vw, 96px); color: var(--wit); }
.s-fotograaf-c .bk-slot-in h2 { font-size: clamp(40px, 6vw, 86px); letter-spacing: -.045em; max-width: 12em; margin-bottom: 18px; }
.s-fotograaf-c .bk-slot-in p { font-size: 19px; max-width: 34em; color: #e4e1da; margin-bottom: 34px; }
.s-fotograaf-c .bk-tel-groot { text-decoration: none; font-weight: 700; font-size: 20px; display: inline-flex; gap: 10px; align-items: baseline; }
.s-fotograaf-c .bk-tel-groot small { font: 500 11px "BK Mono", monospace; text-transform: uppercase; color: #c9c6bf; }
.s-fotograaf-c .bk-tel-groot:hover { color: var(--vi-l); }

/* ── Paginakop ── */
.s-fotograaf-c .bk-pkop { padding-block: clamp(56px, 7vw, 104px) 0; }
.s-fotograaf-c .bk-pkop h1 { font-size: clamp(48px, 7.4vw, 108px); font-weight: 830; line-height: .95; letter-spacing: -.048em; margin-bottom: 28px; max-width: 12em; }
.s-fotograaf-c .bk-pkop .bk-lead { color: #d6d3cc; }
.s-fotograaf-c .bk-pkop .bk-liniaal { margin-bottom: 0; }
.s-fotograaf-c .bk-pkop + .bk-zwart { border-top: 0; }
.s-fotograaf-c .bk-sprong { margin-top: 40px; }
.s-fotograaf-c .bk-sprong ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.s-fotograaf-c .bk-sprong a { display: inline-flex; gap: 10px; align-items: baseline; padding: 8px 14px; border: 1px dashed var(--lijn2); border-radius: 2px; text-decoration: none; font-weight: 600; font-size: 15px; }
.s-fotograaf-c .bk-sprong a .bk-mono { font-size: 10.5px; color: var(--grijs); }
.s-fotograaf-c .bk-sprong a:hover { border-color: var(--vi-l); color: var(--vi-l); }

/* ── Dienstbanden ── */
.s-fotograaf-c .bk-dienst { scroll-margin-top: 20px; }
.s-fotograaf-c .bk-dienst-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px clamp(40px, 6vw, 96px); align-items: start; }
@media (min-width: 861px) { .s-fotograaf-c .bk-dienst-tekst { position: sticky; top: 32px; } }
.s-fotograaf-c .bk-dienst h2 { font-size: clamp(38px, 5vw, 70px); letter-spacing: -.045em; margin-bottom: 14px; }
.s-fotograaf-c .bk-dienst-k { font-size: clamp(20px, 1.9vw, 25px); font-weight: 560; letter-spacing: -.015em; line-height: 1.35; margin-bottom: 22px; }
.s-fotograaf-c .bk-dienst-tekst > p:not(.bk-tcregel):not(.bk-dienst-k) { max-width: 33em; }
.s-fotograaf-c .bk-punten { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 10px; }
.s-fotograaf-c .bk-punten li { position: relative; padding-left: 28px; }
.s-fotograaf-c .bk-punten li::before { content: ""; position: absolute; left: 0; top: .5em; width: 14px; height: 9px; border-radius: 2px; background: var(--clip); box-shadow: 4px 4px 0 -2px var(--golf); }
.s-fotograaf-c .bk-dbeeld { position: relative; overflow: hidden; background: #000; margin-bottom: 30px; }
.s-fotograaf-c .bk-dbeeld.bk-r169 { aspect-ratio: 16 / 9; }
.s-fotograaf-c .bk-dbeeld.bk-r239 { aspect-ratio: 16 / 9; display: grid; align-items: center; }
.s-fotograaf-c .bk-dbeeld.bk-r239 .bk-df { aspect-ratio: 2.39 / 1; height: auto; }
.s-fotograaf-c .bk-dbeeld.bk-r11 { aspect-ratio: 1; max-width: 520px; }
.s-fotograaf-c .bk-df { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; }
.s-fotograaf-c .bk-r916-paar { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; background: none; overflow: visible; max-width: 480px; }
.s-fotograaf-c .bk-tel-scherm { position: relative; aspect-ratio: 9 / 16; border-radius: 22px; overflow: hidden; background: #000; box-shadow: 0 0 0 6px #0a0a0b, 0 24px 50px -20px #0009; }
.s-fotograaf-c .bk-tel-scherm:nth-child(2) { transform: translateY(36px); }
.s-fotograaf-c .bk-tel-scherm .ph-cap { top: 12px; bottom: auto; font-size: 11px; }
.s-fotograaf-c .bk-ot.bk-klein { bottom: 12%; width: 88%; }
.s-fotograaf-c .bk-ot.bk-klein span { font-size: 13px; font-weight: 640; background: #fff; color: #111; padding: 2px 6px; }
.s-fotograaf-c .bk-d-r916 .bk-dbeeld { margin-bottom: 66px; }
.s-fotograaf-c .bk-specs-lijst { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 0 0 28px; }
.s-fotograaf-c .bk-specs-lijst div { border-top: 1px solid var(--lijn); padding: 11px 0; }
.s-fotograaf-c .bk-papier .bk-specs-lijst div { border-top-color: var(--lijn-l); }
.s-fotograaf-c .bk-specs-lijst dt { font: 500 11px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .05em; color: var(--grijs); margin-bottom: 2px; }
.s-fotograaf-c .bk-papier .bk-specs-lijst dt { color: var(--grijs-l); }
.s-fotograaf-c .bk-specs-lijst dd { margin: 0; font-size: 15.5px; line-height: 1.4; }
.s-fotograaf-c .bk-prijsregel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 24px; padding-top: 22px; border-top: 2px solid currentColor; }
.s-fotograaf-c .bk-prijsregel p { margin: 0; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.s-fotograaf-c .bk-prijsregel b { font-size: clamp(30px, 3vw, 40px); font-weight: 820; letter-spacing: -.04em; }
.s-fotograaf-c .bk-prijsregel .bk-mono { font-size: 11px; opacity: .75; }

/* ── Inbegrepen (exportinstellingen) ── */
.s-fotograaf-c .bk-export { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 28px; }
.s-fotograaf-c .bk-export li { border-top: 1px solid #ffffff33; padding: 18px 0 28px; font-size: 16.5px; line-height: 1.45; }
.s-fotograaf-c .bk-export .bk-mono { display: block; color: var(--vi-l); margin-bottom: 6px; }

/* ── Rekenvoorbeeld ── */
.s-fotograaf-c .bk-reken-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.s-fotograaf-c .bk-reken h2 { font-size: clamp(30px, 3.4vw, 46px); margin-bottom: 20px; }
.s-fotograaf-c .bk-klein-tekst { font-size: 14.5px; color: var(--grijs-l); }
.s-fotograaf-c .bk-tabel { width: 100%; border-collapse: collapse; font-size: 16.5px; }
.s-fotograaf-c .bk-tabel th { text-align: left; font: 500 11px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .05em; color: var(--grijs-l); padding: 0 0 10px; border-bottom: 2px solid var(--inkt); }
.s-fotograaf-c .bk-tabel td { padding: 14px 0; border-bottom: 1px solid var(--lijn-l); vertical-align: baseline; }
.s-fotograaf-c .bk-tabel td:nth-child(2) { color: var(--grijs-l); font-size: 12px; padding-inline: 12px; white-space: nowrap; }
.s-fotograaf-c .bk-tabel td:last-child, .s-fotograaf-c .bk-tabel th:last-child { text-align: right; white-space: nowrap; }
.s-fotograaf-c .bk-tabel tfoot td { border-bottom: 0; border-top: 2px solid var(--inkt); font-weight: 800; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -.03em; padding-top: 16px; }

/* ── Losse onderdelen ── */
.s-fotograaf-c .bk-los-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px 64px; align-items: start; }
.s-fotograaf-c .bk-loslijst { list-style: none; margin: 0; padding: 0; }
.s-fotograaf-c .bk-loslijst li { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid var(--lijn); font-size: 17px; }
.s-fotograaf-c .bk-loslijst li:last-child { border-bottom: 1px solid var(--lijn); }
.s-fotograaf-c .bk-loslijst b { font-weight: 640; white-space: nowrap; }

/* ── Projectbanden ── */
.s-fotograaf-c .bk-proj-beeld { scroll-margin-top: 10px; }
.s-fotograaf-c .bk-project { padding-block: clamp(56px, 7vw, 100px); }
.s-fotograaf-c .bk-proj-kop { max-width: 860px; margin-bottom: 48px; }
.s-fotograaf-c .bk-proj-kop h2 { margin-bottom: 16px; }
.s-fotograaf-c .bk-papier .bk-lead { color: #33353a; }
.s-fotograaf-c .bk-proj-grid { display: grid; grid-template-columns: 1fr 1.2fr 1.2fr 1.1fr; gap: 32px 40px; margin-bottom: 40px; }
.s-fotograaf-c .bk-proj-grid h3 { font: 500 11.5px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; color: var(--grijs); }
.s-fotograaf-c .bk-papier .bk-proj-grid h3 { color: var(--grijs-l); }
.s-fotograaf-c .bk-proj-grid p { font-size: 16px; line-height: 1.6; }
.s-fotograaf-c .bk-proj-grid .bk-punten { margin: 0; font-size: 15.5px; }
.s-fotograaf-c .bk-proj-getal b { display: block; font-size: clamp(54px, 6vw, 88px); font-weight: 840; letter-spacing: -.055em; line-height: .9; color: var(--vi-l); margin-bottom: 10px; }
.s-fotograaf-c .bk-papier .bk-proj-getal b { color: var(--clip); }
.s-fotograaf-c .bk-proj-getal span { font-size: 16px; }
.s-fotograaf-c .bk-specs-rij { grid-template-columns: repeat(4, 1fr); margin: 0; }

/* ── Meer werk ── */
.s-fotograaf-c .bk-mwlijst { list-style: none; margin: 0; padding: 0; }
.s-fotograaf-c .bk-mwlijst li { display: grid; grid-template-columns: 150px 1fr 90px 70px; gap: 8px 24px; align-items: baseline; padding: 17px 0; border-top: 1px solid #ffffff2b; }
.s-fotograaf-c .bk-mwlijst li:last-child { border-bottom: 1px solid #ffffff2b; }
.s-fotograaf-c .bk-mw-kop { font: 500 11px "BK Mono", monospace; text-transform: uppercase; color: #cfc6ee; letter-spacing: .06em; border-top: 0 !important; padding-top: 0 !important; }
.s-fotograaf-c .bk-soort { color: var(--vi-l); }
.s-fotograaf-c .bk-mw-t { font-size: clamp(17px, 1.6vw, 21px); font-weight: 600; letter-spacing: -.01em; }
.s-fotograaf-c .bk-violet .bk-dim { color: #cfc6ee; }

/* ── Over ons ── */
.s-fotograaf-c .bk-verhaal-grid { display: grid; grid-template-columns: .8fr 2fr; gap: 32px 64px; }
.s-fotograaf-c .bk-kolommen { columns: 2 280px; column-gap: 48px; font-size: 18px; }
.s-fotograaf-c .bk-kolommen p:first-child::first-letter { font-weight: 820; font-size: 3.1em; float: left; line-height: .82; margin: 6px 10px 0 0; color: var(--clip); }
.s-fotograaf-c .bk-crew { text-align: center; }
.s-fotograaf-c .bk-kist-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 32px 72px; align-items: start; }
.s-fotograaf-c .bk-kist-grid h2 { margin-bottom: 20px; }
.s-fotograaf-c .bk-kistlijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.s-fotograaf-c .bk-kistlijst li { border-top: 1px solid var(--lijn-l); padding: 16px 0 20px; font-size: 16.5px; line-height: 1.45; }
.s-fotograaf-c .bk-kistlijst .bk-mono { display: block; color: var(--clip); margin-bottom: 4px; }
.s-fotograaf-c .bk-werkwijze { scroll-margin-top: 10px; }
.s-fotograaf-c .bk-stappen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px; }
.s-fotograaf-c .bk-stappen li { display: flex; flex-direction: column; gap: 6px; padding: 20px 0 34px; border-top: 2px solid #ffffff38; }
.s-fotograaf-c .bk-stappen li:nth-child(3) { border-top-color: var(--rood); }
.s-fotograaf-c .bk-stappen .bk-mono { color: var(--vi-l); }
.s-fotograaf-c .bk-stappen b { font-size: 24px; font-weight: 740; letter-spacing: -.02em; }
.s-fotograaf-c .bk-stappen span:last-child { color: #d9d3ee; font-size: 16px; }
.s-fotograaf-c .bk-call-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 40px clamp(40px, 6vw, 96px); align-items: start; }
.s-fotograaf-c .bk-call-grid h2 { margin-bottom: 20px; }
.s-fotograaf-c .bk-call-grid > div > p:last-child { color: #d6d3cc; }
.s-fotograaf-c .bk-call { width: 100%; border-collapse: collapse; background: var(--zw2); border: 1px solid var(--lijn); }
.s-fotograaf-c .bk-call td { padding: 14px 18px; border-top: 1px solid var(--lijn); vertical-align: top; }
.s-fotograaf-c .bk-call td.bk-mono { width: 84px; color: var(--vi-l); font-size: 14px; padding-top: 17px; }
.s-fotograaf-c .bk-call b { display: block; font-weight: 680; font-size: 17px; }
.s-fotograaf-c .bk-call span { color: var(--grijs); font-size: 15px; }
.s-fotograaf-c .bk-call tr:nth-child(3) td.bk-mono, .s-fotograaf-c .bk-call tr:nth-child(6) td.bk-mono { color: var(--rood); }
.s-fotograaf-c .bk-fb-balk { position: relative; height: 34px; margin-bottom: 34px; }
.s-fotograaf-c .bk-fb-balk .bk-lin-streepjes { border-bottom-color: var(--inkt);
  background: repeating-linear-gradient(90deg, #8b8579 0 1px, transparent 1px 12.5%) left bottom / 100% 14px no-repeat,
              repeating-linear-gradient(90deg, #c5bfb2 0 1px, transparent 1px 2.0833%) left bottom / 100% 7px no-repeat; }
.s-fotograaf-c .bk-fb-balk i { position: absolute; top: 0; width: 14px; height: 18px; margin-left: -7px; background: var(--geel); clip-path: polygon(0 0, 100% 0, 100% 62%, 50% 100%, 0 62%); }
.s-fotograaf-c .bk-fb-balk i:last-child { background: var(--golf); }
.s-fotograaf-c .bk-fblijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.s-fotograaf-c .bk-fblijst li { display: grid; grid-template-columns: 130px 130px 1fr auto; gap: 8px 20px; align-items: center; padding: 16px 20px; background: #fff; border-left: 4px solid var(--geel); border-radius: 2px; box-shadow: 0 1px 0 var(--lijn-l); }
.s-fotograaf-c .bk-fblijst li:last-child { border-left-color: var(--golf); }
.s-fotograaf-c .bk-fb-tc { color: var(--clip); font-size: 13px; }
.s-fotograaf-c .bk-fb-ronde { font-size: 13px; color: var(--grijs-l); }
.s-fotograaf-c .bk-fb-tekst { font-size: 17px; }
.s-fotograaf-c .bk-fb-status { font-size: 10.5px; padding: 3px 8px; border-radius: 20px; background: #e9f6ee; color: #1f5b3e; }

/* ── Contact ── */
.s-fotograaf-c .bk-contact-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px clamp(40px, 6vw, 88px); align-items: start; }
.s-fotograaf-c .bk-form fieldset { border: 0; padding: 0; margin: 0 0 30px; }
.s-fotograaf-c .bk-form legend { font-size: clamp(24px, 2.4vw, 32px); font-weight: 780; letter-spacing: -.03em; margin-bottom: 18px; padding: 0; }
.s-fotograaf-c .bk-keuzes { display: flex; flex-wrap: wrap; gap: 10px; }
.s-fotograaf-c .bk-keus { position: relative; cursor: pointer; }
.s-fotograaf-c .bk-keus input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.s-fotograaf-c .bk-keus span { display: inline-block; padding: 11px 16px 11px 30px; border-radius: 3px; background: #fff; border: 1px solid var(--lijn-l); font-weight: 600; font-size: 15.5px; position: relative; }
.s-fotograaf-c .bk-keus span::before { content: ""; position: absolute; left: 12px; top: 50%; width: 8px; height: 14px; margin-top: -7px; border-radius: 1px; background: var(--lijn-l); }
.s-fotograaf-c .bk-keus input:checked + span { background: var(--clip); border-color: var(--clip); color: #fff; }
.s-fotograaf-c .bk-keus input:checked + span::before { background: #fff; }
.s-fotograaf-c .bk-keus input:focus-visible + span { outline: 2px solid var(--clip); outline-offset: 2px; }
.s-fotograaf-c .bk-velden { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.s-fotograaf-c .bk-veld { display: flex; flex-direction: column; gap: 7px; }
.s-fotograaf-c .bk-veld.bk-breed { grid-column: 1 / -1; }
.s-fotograaf-c .bk-veld > span { font: 500 11.5px "BK Mono", monospace; text-transform: uppercase; letter-spacing: .05em; color: var(--grijs-l); }
.s-fotograaf-c .bk-veld input, .s-fotograaf-c .bk-veld textarea, .s-fotograaf-c .bk-veld select { font: 400 16.5px/1.45 "BK Epilogue", sans-serif; color: var(--inkt); background: #fff; border: 1px solid var(--lijn-l); border-radius: 3px; padding: 13px 14px; width: 100%; }
.s-fotograaf-c .bk-veld textarea { resize: vertical; min-height: 140px; }
.s-fotograaf-c .bk-veld input:focus, .s-fotograaf-c .bk-veld textarea:focus, .s-fotograaf-c .bk-veld select:focus { outline: 2px solid var(--clip); outline-offset: 0; border-color: var(--clip); }
.s-fotograaf-c .bk-form-onder { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 30px; margin-top: 30px; }
.s-fotograaf-c .bk-knop-knop.bk-licht { background: var(--inkt); color: var(--wit); }
.s-fotograaf-c .bk-knop-knop.bk-licht::before, .s-fotograaf-c .bk-knop-knop.bk-licht::after { color: var(--inkt); }
.s-fotograaf-c .bk-knop-knop.bk-licht:hover { background: var(--clip); }
.s-fotograaf-c .bk-note { margin: 0; font-size: 14px; color: var(--grijs-l); }
.s-fotograaf-c .bk-contact-zij { display: grid; gap: 0; }
.s-fotograaf-c .bk-zijblok { border-top: 1px solid var(--lijn-l); padding: 18px 0 20px; }
.s-fotograaf-c .bk-zijblok p { margin: 0 0 6px; }
.s-fotograaf-c .bk-zijblok a { text-decoration-color: var(--lijn-l); text-underline-offset: 3px; }
.s-fotograaf-c .bk-zijblok a:hover { color: var(--clip); }
.s-fotograaf-c .bk-groot { font-size: clamp(28px, 2.8vw, 38px); font-weight: 800; letter-spacing: -.035em; }
.s-fotograaf-c .bk-groot a { text-decoration: none; }
.s-fotograaf-c .bk-zijtijden, .s-fotograaf-c .bk-daarna { margin: 8px 0 0; padding: 0; list-style: none; font-size: 15.5px; }
.s-fotograaf-c .bk-zijtijden li span, .s-fotograaf-c .bk-voet-tijden li span { display: block; font: 500 11px "BK Mono", monospace; text-transform: uppercase; color: var(--grijs-l); margin-top: 6px; }
.s-fotograaf-c .bk-daarna { counter-reset: d; }
.s-fotograaf-c .bk-daarna li { counter-increment: d; position: relative; padding: 6px 0 6px 34px; }
.s-fotograaf-c .bk-daarna li::before { content: counter(d, decimal-leading-zero); position: absolute; left: 0; top: 8px; font: 500 12px "BK Mono", monospace; color: var(--clip); }
.s-fotograaf-c .bk-vragen-grid { display: grid; grid-template-columns: 1fr 1.7fr; gap: 40px clamp(40px, 6vw, 88px); align-items: start; }
.s-fotograaf-c .bk-vragen-grid h2 { margin-bottom: 18px; }
.s-fotograaf-c .bk-vragen { scroll-margin-top: 10px; }
.s-fotograaf-c .bk-vragenlijst { border-bottom: 1px solid var(--lijn); }
.s-fotograaf-c .bk-vraag { border-top: 1px solid var(--lijn); }
.s-fotograaf-c .bk-vraag summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 112px 1fr 24px; gap: 16px; align-items: baseline; padding: 20px 0; font-size: clamp(18px, 1.7vw, 22px); font-weight: 640; letter-spacing: -.015em; }
.s-fotograaf-c .bk-vraag summary::-webkit-details-marker { display: none; }
.s-fotograaf-c .bk-vraag summary::after { content: "+"; font-weight: 400; font-size: 26px; line-height: 1; color: var(--vi-l); text-align: right; }
.s-fotograaf-c .bk-vraag[open] summary::after { content: "−"; }
.s-fotograaf-c .bk-vraag summary .bk-mono { font-size: 11px; color: var(--grijs); }
.s-fotograaf-c .bk-vraag[open] summary .bk-mono { color: var(--rood); }
.s-fotograaf-c .bk-vraag p { margin: -4px 40px 22px 128px; color: #d6d3cc; font-size: 16.5px; }
.s-fotograaf-c .bk-vraag summary:hover { color: var(--vi-l); }

/* ── Voet ── */
.s-fotograaf-c .bk-voet { background: #0b0c0e; color: var(--wit); padding-bottom: 32px; position: relative; }
.s-fotograaf-c .bk-voet-lijn { position: relative; height: 36px; }
.s-fotograaf-c .bk-voet-lijn .bk-lin-streepjes { border-bottom-color: var(--lijn); }
.s-fotograaf-c .bk-voet-kop { position: absolute; right: 8px; top: 0; bottom: -1px; width: 2px; background: var(--rood); }
.s-fotograaf-c .bk-voet-kop::before { content: ""; position: absolute; left: -6px; top: 0; width: 14px; height: 12px; background: var(--rood); clip-path: polygon(0 0, 100% 0, 100% 55%, 50% 100%, 0 55%); }
.s-fotograaf-c .bk-voet-kop span { position: absolute; right: 12px; top: 3px; white-space: nowrap; font: 500 11px "BK Mono", monospace; background: var(--rood-d); color: #fff; padding: 1px 6px; border-radius: 2px; }
.s-fotograaf-c .bk-voet-boven { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 28px 40px; padding-block: clamp(56px, 7vw, 96px); border-bottom: 1px solid var(--lijn); }
.s-fotograaf-c .bk-voet-zin { margin: 0; font-size: clamp(34px, 4.6vw, 64px); font-weight: 820; letter-spacing: -.045em; line-height: 1.02; max-width: 15em; }
.s-fotograaf-c .bk-voet-zin span { font-style: italic; font-weight: 300; color: var(--vi-l); }
.s-fotograaf-c .bk-voet-grid { display: grid; grid-template-columns: 1.4fr 1.2fr 1fr 1fr; gap: 36px 48px; padding-block: 56px; font-size: 15.5px; }
.s-fotograaf-c .bk-voet-grid p { margin: 0 0 10px; }
.s-fotograaf-c .bk-voet-grid a { text-decoration: none; }
.s-fotograaf-c .bk-voet-grid a:hover { color: var(--vi-l); }
.s-fotograaf-c .bk-voet-merk p { color: var(--grijs); margin-top: 18px; max-width: 26em; }
.s-fotograaf-c .bk-voet-paginas, .s-fotograaf-c .bk-voet-tijden { list-style: none; margin: 0; padding: 0; }
.s-fotograaf-c .bk-voet-paginas li { margin-bottom: 7px; }
.s-fotograaf-c .bk-voet-paginas a { display: inline-flex; gap: 12px; align-items: baseline; }
.s-fotograaf-c .bk-voet-paginas .bk-mono { font-size: 10.5px; color: var(--grijs); }
.s-fotograaf-c .bk-voet-tijden li span { color: var(--grijs); margin-top: 0; }
.s-fotograaf-c .bk-voet-tijden li { margin-bottom: 10px; }
.s-fotograaf-c .bk-voet-onder { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-top: 22px; border-top: 1px solid var(--lijn); font-size: 13.5px; color: var(--grijs); }
.s-fotograaf-c .bk-voet-onder p { margin: 0; }
.s-fotograaf-c .bk-voet-onder a { color: var(--wit); }

/* ── Smaller ── */
@media (max-width: 1080px) {
  .s-fotograaf-c .bk-kaders { grid-template-columns: 1.6fr 1fr 1.6fr 1fr; gap: 20px; }
  .s-fotograaf-c .bk-proj-grid { grid-template-columns: 1fr 1fr; }
  .s-fotograaf-c .bk-export { grid-template-columns: repeat(2, 1fr); }
  .s-fotograaf-c .bk-voet-grid { grid-template-columns: 1fr 1fr; }
  .s-fotograaf-c .bk-prodbalk { flex-wrap: wrap; row-gap: 30px; }
  .s-fotograaf-c .bk-prodbalk li { flex: 1 1 30%; }
}
@media (max-width: 860px) {
  .s-fotograaf-c .bk-kop-cta { display: none; }
  .s-fotograaf-c .bk-open-onder, .s-fotograaf-c .bk-sec-rij, .s-fotograaf-c .bk-dienst-grid, .s-fotograaf-c .bk-reken-grid, .s-fotograaf-c .bk-los-grid,
  .s-fotograaf-c .bk-verhaal-grid, .s-fotograaf-c .bk-kist-grid, .s-fotograaf-c .bk-call-grid, .s-fotograaf-c .bk-contact-grid, .s-fotograaf-c .bk-vragen-grid { grid-template-columns: 1fr; }
  .s-fotograaf-c .bk-open-onder .bk-knoppen { justify-content: flex-start; }
  .s-fotograaf-c .bk-kaders { grid-template-columns: 1fr 1fr; grid-template-rows: none; gap: 40px 20px; align-items: start; }
  .s-fotograaf-c .bk-kader { display: flex; flex-direction: column; grid-row: auto; }
  .s-fotograaf-c .bk-werkrij { grid-template-columns: 180px 1fr; }
  .s-fotograaf-c .bk-werk-getal { grid-column: 2; }
  .s-fotograaf-c .bk-stappen { grid-template-columns: 1fr 1fr; }
  .s-fotograaf-c .bk-ov-item a { grid-template-columns: 1fr; gap: 2px; }
  .s-fotograaf-c .bk-ov-uitleg { display: none; }
  .s-fotograaf-c .bk-ov-item.bk-nu a::before { left: -12px; }
  .s-fotograaf-c .bk-ov-voet { grid-template-columns: 1fr 1fr; }
  .s-fotograaf-c .bk-specs-rij { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  body.s-fotograaf-c { font-size: 16.5px; }
  .s-fotograaf-c .bk-kop-rij { min-height: 64px; gap: 10px; }
  .s-fotograaf-c .bk-logo-naam { font-size: 20px; }
  .s-fotograaf-c .bk-logo-sub { display: none; }
  .s-fotograaf-c .bk-ods { font-size: 10.5px; letter-spacing: .02em; }
  .s-fotograaf-c .bk-kop-r { gap: 14px; }
  .s-fotograaf-c .bk-menu-knop { font-size: 15px; gap: 9px; }
  .s-fotograaf-c .bk-menu-knop i { width: 20px; }
  .s-fotograaf-c .bk-tl-hint { display: block; }
  .s-fotograaf-c .bk-tl { --r2: 150px; --r3: 40px; --r4: 28px; min-width: 820px; }
  .s-fotograaf-c .bk-kaders { grid-template-columns: 1fr; }
  .s-fotograaf-c .bk-r916 .bk-kader-beeld { width: 52%; }
  .s-fotograaf-c .bk-r11 .bk-kader-beeld { width: 72%; }
  .s-fotograaf-c .bk-scope-foto { aspect-ratio: 16 / 9; }
  .s-fotograaf-c .bk-scope-hoog .bk-scope-foto { aspect-ratio: 4 / 3; }
  .s-fotograaf-c .bk-ot { width: 94%; }
  .s-fotograaf-c .bk-ot span { font-size: 15px; padding: 2px 8px; }
  .s-fotograaf-c .bk-werkrij { grid-template-columns: 1fr; gap: 14px; }
  .s-fotograaf-c .bk-werk-getal { grid-column: auto; }
  .s-fotograaf-c .bk-prodbalk { flex-direction: column; row-gap: 22px; }
  .s-fotograaf-c .bk-prodbalk li { flex: none; display: grid; grid-template-columns: 1fr; }
  .s-fotograaf-c .bk-prodbalk li > .bk-mono { width: calc(var(--d) * 2.6%); min-width: 34%; height: 34px; margin-bottom: 10px; }
  .s-fotograaf-c .bk-cr-lijst li { grid-template-columns: 1fr; text-align: center; gap: 4px; }
  .s-fotograaf-c .bk-cr-rol, .s-fotograaf-c .bk-cr-naam, .s-fotograaf-c .bk-cr-bio { text-align: center; grid-column: 1; margin-inline: auto; }
  .s-fotograaf-c .bk-export, .s-fotograaf-c .bk-kistlijst, .s-fotograaf-c .bk-stappen, .s-fotograaf-c .bk-proj-grid, .s-fotograaf-c .bk-velden, .s-fotograaf-c .bk-voet-grid, .s-fotograaf-c .bk-ov-voet { grid-template-columns: 1fr; }
  .s-fotograaf-c .bk-specs-lijst { grid-template-columns: 1fr 1fr; }
  .s-fotograaf-c .bk-mwlijst li { grid-template-columns: 1fr auto; gap: 4px 16px; }
  .s-fotograaf-c .bk-mwlijst .bk-mw-t { grid-column: 1 / -1; grid-row: 2; }
  .s-fotograaf-c .bk-mwlijst .bk-mw-kop { display: none; }
  .s-fotograaf-c .bk-fblijst li { grid-template-columns: 1fr auto; padding: 14px 16px; }
  .s-fotograaf-c .bk-fb-tekst { grid-column: 1 / -1; }
  .s-fotograaf-c .bk-fb-ronde { display: none; }
  .s-fotograaf-c .bk-vraag summary { grid-template-columns: 1fr 24px; gap: 4px 12px; }
  .s-fotograaf-c .bk-vraag summary .bk-mono { grid-column: 1 / -1; }
  .s-fotograaf-c .bk-vraag p { margin: -4px 0 22px; }
  .s-fotograaf-c .bk-tabel td:nth-child(2), .s-fotograaf-c .bk-tabel th:nth-child(2) { display: none; }
  .s-fotograaf-c .bk-r916-paar { gap: 16px; }
  .s-fotograaf-c .bk-menu-zwevend { width: 58px; height: 58px; right: 14px; bottom: 14px; font-size: 13px; }
}
