/* Voet — lichte band, gemeten op mrboost (1440: 40px zij, kolommen op 649/1044, 48px contact) */
.voet {
  --voet-zij: clamp(20px, 2.78vw, 40px);
  --voet-grijs: #8B8A85;
  --voet-lijn: rgba(10, 10, 10, 0.16);
  --voet-inkt: #0A0A0A;
  position: relative;
  overflow: hidden;
  background: var(--krijt, #E9E8E3);
  color: var(--voet-inkt);
  font-family: var(--font-tekst, "Helvetica Neue", Helvetica, Arial, sans-serif);
  padding-top: clamp(44px, 4.2vw, 60px);
}
.voet .voet__binnen { padding-inline: var(--voet-zij); }
.voet .voet__kolommen {
  display: grid;
  grid-template-columns: 609fr 395fr 356fr;
  align-items: start;
  padding-bottom: clamp(30px, 2.3vw, 33px);
  border-bottom: 1px solid var(--voet-lijn);
}
.voet .voet__kopje {
  margin: 0 0 clamp(26px, 2.2vw, 30px);
  font: 500 17px/1.2 var(--font-tekst, sans-serif);
  letter-spacing: -0.005em;
  color: var(--voet-grijs);
}
.voet .voet__groot {
  margin: 0;
  display: flex; flex-direction: column; align-items: flex-start;
  font-size: clamp(1.625rem, 3.34vw, 3rem);
  font-weight: 500;
  line-height: 1.19;
  letter-spacing: -0.035em;
}
.voet .voet__lijn {
  color: inherit; text-decoration: none;
  background: linear-gradient(currentColor, currentColor) no-repeat 0 92% / 0 2px;
  transition: background-size .5s var(--ease, ease);
}
.voet .voet__lijn:hover { background-size: 100% 2px; }
.voet .voet__adres {
  margin-top: clamp(14px, 1.4vw, 20px);
  font-style: normal; font-size: 15px; line-height: 1.4; letter-spacing: -0.005em;
  color: #5E5D59;
}
.voet .voet__lijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.voet .voet__link {
  position: relative; display: inline-block;
  font-size: 17px; font-weight: 500; line-height: 1.4; letter-spacing: -0.005em;
  color: var(--voet-inkt); text-decoration: none;
  transition: transform .35s var(--ease, ease), color .35s;
}
.voet .voet__link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform .45s var(--ease, ease);
}
.voet .voet__link:hover::after { transform: scaleX(1); transform-origin: left; }
.voet .voet__link:hover { transform: translateX(3px); }
.voet a:focus-visible { outline: 2px solid var(--voet-inkt); outline-offset: 4px; border-radius: 4px; }
.voet .voet__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.voet .voet__onder { padding-top: clamp(20px, 1.6vw, 22px); }
.voet .voet__copy { margin: 0; font-size: 15.5px; font-weight: 500; letter-spacing: -0.005em; }

/* Woordmerk: vector, van marge tot marge, onderaan afgesneden */
.voet .voet__merk {
  --voet-merk-toon: 0.8; /* deel van de hoogte dat zichtbaar is */
  position: relative;
  margin-top: clamp(14px, 1.4vw, 20px);
  margin-inline: var(--voet-zij);
  aspect-ratio: 1880 / calc(600 * var(--voet-merk-toon));
  overflow: hidden;
  color: var(--voet-inkt);
}
.voet .voet__merk-svg { display: block; width: 100%; height: auto; overflow: visible; }
.voet .voet__letter {
  transform-box: fill-box;
  transform: translateY(var(--voet-merk-y, 0%));
  transition: transform 1.3s cubic-bezier(.19, 1, .22, 1);
  transition-delay: calc(var(--i, 0) * 80ms);
}
.voet .voet__merk.is-wacht .voet__letter { --voet-merk-y: 105%; }
html.is-shot .voet .voet__letter { --voet-merk-y: 0% !important; transition: none; }

@media (max-width: 760px) {
  .voet { padding-top: 38px; }
  .voet .voet__kolommen { grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 40px; padding-bottom: 28px; }
  .voet .voet__kolom--contact { grid-column: 1 / -1; }
  .voet .voet__kopje { font-size: 17px; margin-bottom: 22px; }
  .voet .voet__groot { font-size: 27px; line-height: 1.2; letter-spacing: -0.03em; }
  .voet .voet__adres { margin-top: 12px; }
  .voet .voet__lijst { gap: 6px; }
  .voet .voet__link { font-size: 17px; }
  .voet .voet__onder { padding-top: 18px; }
  .voet .voet__merk { margin-top: 20px; --voet-merk-toon: 0.8; }
}
@media (prefers-reduced-motion: reduce) {
  .voet .voet__letter, .voet .voet__link, .voet .voet__link::after, .voet .voet__lijn { transition: none; }
  .voet .voet__merk.is-wacht .voet__letter { --voet-merk-y: 0%; }
  .voet .voet__link:hover { transform: none; }
}

/* woordmerk: als één geheel omhoog (GPU), geen losse SVG-letters die haperen */
.voet .voet__letter { transform: none !important; transition: none !important; }
.voet .voet__merk-svg { transform: translate3d(0, 0, 0); transition: transform 1.1s cubic-bezier(.19, 1, .22, 1); will-change: transform; }
.voet .voet__merk.is-wacht .voet__merk-svg { transform: translate3d(0, 70%, 0); }
@media (prefers-reduced-motion: reduce) { .voet .voet__merk-svg { transition: none; } .voet .voet__merk.is-wacht .voet__merk-svg { transform: none; } }

/* mobiel: tikgebieden van minstens 44px */
@media (max-width: 760px) {
  .voet .voet__lijst li { display: block; }
  .voet .voet__link { display: inline-flex; align-items: center; min-height: 44px; }
  .voet .voet__lijst { gap: 0; }
  .voet .voet__lijn { display: inline-flex; align-items: center; min-height: 44px; }
}
.voet .voet__onder { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; }
.voet .voet__juridisch { margin: 0; font-size: 14px; color: var(--grijs, #76766F); }
.voet .voet__juridisch a { color: inherit; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; min-height: 32px; align-items: center; }
