@charset "utf-8";
/* ==========================================================================
   Betaalroute — SITE_VARIANT_02 · namespace uit2
   Process dossier. Dark plates, phase nodes, offset section heads.
   Radius 0 everywhere; one shadow only (the section-menu overlay).
   ========================================================================== */

/* --- local webfonts (latin + latin-ext subsets, woff2) ------------------- */
/* Regenerate with scratchpad/fetch_fonts.py; sources: Google Fonts. */
@font-face{font-family:'Chivo';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/chivo-600-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Chivo';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/chivo-600.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Chivo';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/chivo-800-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Chivo';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/chivo-800.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-400-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-400.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/jetbrains-mono-700-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/jetbrains-mono-700.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spectral-400-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spectral-400.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/spectral-600-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/spectral-600.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* --- tokens --------------------------------------------------------------- */
:root {
  --uit2-primary: #1b3fae;
  --uit2-primary-rule: #c2cbe6;
  --uit2-plate: #1a1e25;
  --uit2-plate-edge: #2a3038;
  --uit2-accent: #b87a1f;
  --uit2-accent-text: #8a5a11;
  --uit2-accent-on-dark: #e0ae63;
  --uit2-ink: #14171c;
  --uit2-body: #2a303a;
  --uit2-n600: #5a626e;
  --uit2-rule: #dcdfe4;
  --uit2-rule-soft: #e7e9ed;
  --uit2-rule-strong: #b9bec8;
  --uit2-rule-mid: #c9cdd4;
  --uit2-bg: #f1f3f5;
  --uit2-bg-hover: #eaedf3;
  --uit2-surface: #ffffff;
  --uit2-accent-surface: #f6ebd8;
  --uit2-accent-surface-edge: #e2cfa9;
  --uit2-on-dark: #ffffff;
  --uit2-on-dark-2: #c6ccd5;
  --uit2-on-dark-3: #8e97a5;
  --uit2-on-dark-4: #6e7784;
  --uit2-on-dark-read: #b9c0cb;
  --uit2-dark-rule: #3a424d;
  --uit2-dark-rule-soft: #343b45;

  --uit2-head: Chivo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --uit2-read: Spectral, Georgia, "Times New Roman", serif;
  --uit2-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --uit2-wrap: 1200px;
  --uit2-wrap-doc: 1080px;
  --uit2-gutter: clamp(16px, 4vw, 48px);
  --uit2-gutter-doc: clamp(16px, 4vw, 44px);
  --uit2-kop-gutter: clamp(90px, 12vw, 160px);
}

/* --- reset --------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--uit2-bg);
  color: var(--uit2-ink);
  font-family: var(--uit2-head);
  overflow-x: hidden;
}

img { max-width: 100%; }

a {
  color: var(--uit2-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:hover {
  color: var(--uit2-ink);
  text-decoration-color: var(--uit2-accent);
}

a:active { color: var(--uit2-ink); }

:focus-visible {
  outline: 2px solid var(--uit2-primary);
  outline-offset: 2px;
}

summary {
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker { display: none; }

h1, h2, h3 { font-weight: 800; }

/* the header plate is sticky, so anchor targets need to clear it */
:target,
[id^="uit2-"] { scroll-margin-top: 76px; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* --- shared primitives --------------------------------------------------- */
.uit2-breed {
  max-width: var(--uit2-wrap);
  margin: 0 auto;
  padding-inline: var(--uit2-gutter);
}

.uit2-label {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--uit2-n600);
  margin: 0;
}

.uit2-label--wide { letter-spacing: 0.18em; }

.uit2-lees {
  font-family: var(--uit2-read);
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--uit2-body);
  margin: 0;
}

.uit2-noot {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--uit2-accent-text);
  margin: 0;
}

.uit2-overslaan {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 40;
  background: var(--uit2-ink);
  color: var(--uit2-on-dark);
  font-family: var(--uit2-mono);
  font-size: 12px;
  padding: 12px 16px;
  text-decoration: none;
}

.uit2-overslaan:focus {
  left: 0;
  color: var(--uit2-on-dark);
}

/* --- header plate -------------------------------------------------------- */
.uit2-topplaat {
  background: var(--uit2-plate);
  color: var(--uit2-on-dark);
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid var(--uit2-plate-edge);
}

.uit2-topplaat__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  min-height: 60px;
}

.uit2-topplaat__merk {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  color: var(--uit2-on-dark);
  padding: 8px 0;
}

.uit2-topplaat__merk:hover { color: var(--uit2-on-dark); }

.uit2-topplaat__merk svg {
  display: block;
  flex: 0 0 auto;
}

.uit2-woordmerk {
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.025em;
}

.uit2-topplaat__tag {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--uit2-on-dark-3);
  border-left: 1px solid var(--uit2-dark-rule-soft);
  padding-left: 14px;
}

.uit2-topplaat__rek { flex: 1 1 20px; }

/* Below the wrap threshold the plate becomes three rows tall, so it stops
   being sticky rather than permanently occupying a fifth of the viewport. */
@media (max-width: 599px) {
  .uit2-topplaat { position: static; }
}

/* section menu (details overlay) */
.uit2-sectiemenu { position: relative; }

.uit2-sectiemenu > summary {
  font-family: var(--uit2-mono);
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--uit2-on-dark);
  border: 1px solid var(--uit2-dark-rule);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
}

.uit2-sectiemenu > summary:hover { border-color: var(--uit2-on-dark-3); }

.uit2-sectiemenu__streep {
  display: grid;
  gap: 3px;
}

.uit2-sectiemenu__streep span {
  display: block;
  width: 14px;
  height: 1.5px;
  background: var(--uit2-on-dark);
}

.uit2-sectiemenu__streep span:last-child {
  width: 9px;
  background: var(--uit2-accent);
}

.uit2-sectiemenu__paneel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  background: var(--uit2-surface);
  color: var(--uit2-ink);
  border: 1px solid var(--uit2-ink);
  min-width: 250px;
  padding: 8px 0;
  box-shadow: 0 12px 28px rgba(20, 23, 28, 0.22);
}

.uit2-sectiemenu__paneel a {
  display: block;
  padding: 12px 18px;
  font-family: var(--uit2-mono);
  font-size: 12px;
  color: var(--uit2-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--uit2-rule-soft);
}

.uit2-sectiemenu__paneel a:last-child { border-bottom: 0; }

.uit2-sectiemenu__paneel a:hover { color: var(--uit2-primary); }

/* --- opening block ------------------------------------------------------- */
.uit2-opening {
  background: var(--uit2-bg);
  padding: clamp(40px, 6vw, 84px) 0 0;
}

.uit2-opening__meta {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--uit2-n600);
  margin: 0 0 clamp(18px, 2.5vw, 30px);
}

.uit2-opening h1 {
  font-size: clamp(34px, 6.6vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--uit2-ink);
  margin: 0;
  max-width: 15ch;
  text-wrap: balance;
}

.uit2-opening__rij {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 64px);
  margin-top: clamp(22px, 3vw, 38px);
  align-items: flex-start;
}

.uit2-opening__intro {
  flex: 1 1 380px;
  min-width: 0;
  max-width: 62ch;
  font-family: var(--uit2-read);
  font-size: clamp(16.5px, 1.4vw, 19px);
  line-height: 1.6;
  color: var(--uit2-body);
  margin: 0;
  text-wrap: pretty;
}

.uit2-leeswijzer {
  flex: 0 1 260px;
  min-width: 0;
  border-top: 2px solid var(--uit2-ink);
  padding-top: 14px;
}

.uit2-leeswijzer .uit2-label { margin-bottom: 8px; }

.uit2-leeswijzer p:last-child {
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.55;
  color: var(--uit2-body);
  margin: 0;
}

/* --- phase strip (hero) -------------------------------------------------- */
.uit2-fasestrook {
  margin-top: clamp(34px, 5vw, 64px);
  border-top: 1px solid var(--uit2-rule-mid);
}

.uit2-fasestrook__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.uit2-fasestrook__kolom {
  border-bottom: 1px solid var(--uit2-rule);
  border-right: 1px solid var(--uit2-rule);
  padding: 20px clamp(16px, 2vw, 26px) 24px 0;
  min-width: 0;
}

.uit2-fasestrook__kolom + .uit2-fasestrook__kolom {
  padding-left: clamp(0px, 1.5vw, 26px);
}

.uit2-fasestrook__kolom:last-child {
  border-right: 0;
  padding-right: 0;
}

.uit2-fasenode {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.uit2-fasenode span:first-child {
  width: 11px;
  height: 11px;
  background: var(--uit2-primary);
  display: block;
  flex: 0 0 auto;
}

.uit2-fasenode span:last-child {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--uit2-primary);
}

.uit2-fasenode--accent span:first-child { background: var(--uit2-accent); }

.uit2-fasenode--accent span:last-child { color: var(--uit2-accent-text); }

.uit2-fasestrook__titel {
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
}

.uit2-fasestrook__tekst {
  font-family: var(--uit2-read);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--uit2-n600);
  margin: 0;
}

/* --- offset section heads ------------------------------------------------ */
.uit2-sectiekop {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 3vw, 56px);
  align-items: flex-start;
  margin-bottom: clamp(20px, 2.5vw, 34px);
}

.uit2-sectiekop__nr {
  flex: 0 0 auto;
  width: var(--uit2-kop-gutter);
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
}

.uit2-sectiekop__nr span:first-child {
  font-family: var(--uit2-mono);
  font-size: 11px;
  color: var(--uit2-n600);
}

.uit2-sectiekop__nr span:last-child {
  flex: 1;
  height: 1px;
  background: var(--uit2-rule-strong);
  display: block;
}

.uit2-sectiekop__body {
  flex: 1 1 300px;
  min-width: 0;
}

.uit2-sectiekop__body h2 {
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.028em;
  margin: 0 0 12px;
  text-wrap: balance;
}

.uit2-sectiekop__body h2:only-child { margin-bottom: 0; }

.uit2-sectiekop__body p {
  font-family: var(--uit2-read);
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--uit2-body);
  margin: 0;
  max-width: 62ch;
  text-wrap: pretty;
}

/* inline head variant: number + short hairline stacked above the heading */
.uit2-kopmerk {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.uit2-kopmerk span:first-child {
  font-family: var(--uit2-mono);
  font-size: 11px;
  color: var(--uit2-n600);
}

.uit2-kopmerk span:last-child {
  width: 44px;
  height: 1px;
  background: var(--uit2-rule-strong);
  display: block;
}

/* --- three-position band (quick 3) -------------------------------------- */
.uit2-positieband {
  background: var(--uit2-surface);
  padding: clamp(40px, 5vw, 72px) 0;
  margin-top: clamp(40px, 5vw, 72px);
  border-top: 1px solid var(--uit2-rule);
  border-bottom: 1px solid var(--uit2-rule);
}

.uit2-positieband .uit2-sectiekop { margin-bottom: clamp(22px, 3vw, 40px); }

.uit2-positieband ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  border-top: 2px solid var(--uit2-ink);
}

.uit2-positietegel {
  border-bottom: 1px solid var(--uit2-rule);
  border-left: 1px solid var(--uit2-rule);
  padding: clamp(18px, 2.4vw, 26px) clamp(14px, 2vw, 24px) clamp(20px, 2.4vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.uit2-positietegel:first-child {
  border-left: 0;
  padding-left: 0;
}

.uit2-positietegel__kop {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.uit2-positietegel__pos {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--uit2-n600);
}

.uit2-positietegel__streep {
  width: 22px;
  height: 2px;
  background: var(--uit2-primary);
  display: block;
  flex: 0 0 auto;
}

.uit2-positietegel__streep--accent { background: var(--uit2-accent); }

.uit2-positietegel__naam {
  font-weight: 800;
  font-size: 21px;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}

.uit2-positietegel__domein {
  font-family: var(--uit2-mono);
  font-size: 12px;
  color: var(--uit2-n600);
  margin: 0;
  word-break: break-all;
}

.uit2-positietegel__tekst {
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.55;
  color: var(--uit2-body);
  margin: 0;
}

/* --- logo plates --------------------------------------------------------- */
.uit2-logoplaat {
  background: var(--uit2-plate);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.uit2-logoplaat img {
  width: auto;
  object-fit: contain;
  display: block;
}

.uit2-logoplaat--tegel {
  height: 70px;
  padding: 12px 20px;
}

.uit2-logoplaat--tegel img { max-height: 40px; }

.uit2-logoplaat--regel {
  width: clamp(140px, 16vw, 176px);
  height: 58px;
  padding: 8px 16px;
}

.uit2-logoplaat--regel img { max-height: 32px; }

.uit2-logoplaat--dossier {
  height: 62px;
  padding: 10px 16px;
}

.uit2-logoplaat--dossier img { max-height: 34px; }

/* DEVIATION, documented: DESIGN_SPEC lists SpinDog as light artwork, but the
   supplied asset is a dark navy gradient (#26428B -> #272F40) that is
   unreadable on the #1A1E25 plate. Same plate geometry, light ground; the
   logo itself is untouched. */
.uit2-logoplaat--licht {
  background: var(--uit2-surface);
  border: 1px solid var(--uit2-rule-strong);
}

/* per-brand caps keep every wordmark inside the plate without distortion */
.uit2-logoplaat img[data-cap="30"] { max-height: 30px; }
.uit2-logoplaat img[data-cap="26"] { max-height: 26px; }
.uit2-logoplaat img[data-cap="22"] { max-height: 22px; }
.uit2-logoplaat img[data-cap="42"] { max-height: 42px; }

/* --- contents block ------------------------------------------------------ */
.uit2-inhoud {
  background: var(--uit2-bg);
  padding: clamp(36px, 4vw, 60px) 0;
}

.uit2-inhoudsblok {
  border-top: 2px solid var(--uit2-ink);
  border-bottom: 1px solid var(--uit2-rule);
}

.uit2-inhoudsblok > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0;
  min-height: 44px;
}

.uit2-inhoudsblok > summary h2 {
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.02em;
  margin: 0;
}

.uit2-inhoudsblok__knop {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--uit2-primary);
  border: 1px solid var(--uit2-primary-rule);
  padding: 8px 12px;
  white-space: nowrap;
  flex: 0 0 auto;
}

.uit2-inhoudsblok > summary:hover .uit2-inhoudsblok__knop { border-color: var(--uit2-primary); }

.uit2-inhoudsblok ol {
  list-style: none;
  margin: 0;
  padding: 0 0 22px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 0 clamp(24px, 4vw, 64px);
}

.uit2-inhoudsblok li { border-top: 1px solid var(--uit2-rule); }

.uit2-inhoudsblok a {
  display: flex;
  gap: 14px;
  padding: 13px 0;
  min-height: 44px;
  align-items: center;
  text-decoration: none;
  font-family: var(--uit2-mono);
  font-size: 12.5px;
  color: var(--uit2-ink);
}

.uit2-inhoudsblok a:hover { color: var(--uit2-primary); }

.uit2-inhoudsblok a span:first-child {
  color: var(--uit2-n600);
  flex: 0 0 auto;
}

/* --- provider lines (main comparison) ----------------------------------- */
.uit2-overzicht {
  background: var(--uit2-bg);
  padding: clamp(30px, 4vw, 56px) 0 clamp(44px, 6vw, 88px);
}

.uit2-gegevensnoot {
  border: 1px solid var(--uit2-rule-mid);
  background: var(--uit2-surface);
  padding: clamp(14px, 2vw, 20px) clamp(14px, 2vw, 22px);
  margin-bottom: clamp(22px, 3vw, 34px);
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  align-items: flex-start;
}

.uit2-gegevensnoot__label {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--uit2-accent-text);
  margin: 0;
  flex: 0 0 auto;
  border-left: 3px solid var(--uit2-accent);
  padding-left: 10px;
}

.uit2-gegevensnoot p:last-child {
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.55;
  color: var(--uit2-body);
  margin: 0;
  flex: 1 1 300px;
  min-width: 0;
}

.uit2-aanbiederlijst {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 2px solid var(--uit2-ink);
}

.uit2-aanbiederregel {
  border-bottom: 1px solid var(--uit2-rule);
  padding: clamp(18px, 2vw, 22px) 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
}

.uit2-aanbiederregel:nth-child(odd) { background: var(--uit2-surface); }

.uit2-aanbiederregel:hover { background: var(--uit2-bg-hover); }

.uit2-aanbiederregel:last-child { border-bottom: 2px solid var(--uit2-ink); }

.uit2-aanbiederregel__pos {
  font-family: var(--uit2-mono);
  font-size: 13px;
  color: var(--uit2-ink);
  flex: 0 0 auto;
  width: 38px;
  padding-left: clamp(12px, 1.4vw, 18px);
}

.uit2-aanbiederregel__id {
  flex: 1 1 150px;
  min-width: 0;
}

.uit2-aanbiederregel__naam {
  display: block;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.02em;
}

.uit2-aanbiederregel__domein {
  display: block;
  font-family: var(--uit2-mono);
  font-size: 11.5px;
  color: var(--uit2-n600);
  margin-top: 3px;
  word-break: break-all;
}

.uit2-aanbiederregel__uitleg {
  flex: 2 1 260px;
  min-width: 0;
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.5;
  color: var(--uit2-body);
}

.uit2-aanbiederregel__actie {
  flex: 0 0 auto;
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--uit2-primary);
  border: 1px solid var(--uit2-primary-rule);
  padding: 11px 14px;
  margin-right: clamp(12px, 1.4vw, 18px);
  min-height: 44px;
  display: flex;
  align-items: center;
}

.uit2-aanbiederregel__actie:hover {
  background: var(--uit2-primary);
  color: var(--uit2-on-dark);
  border-color: var(--uit2-primary);
}

.uit2-aanbiederregel__actie:active {
  background: var(--uit2-ink);
  border-color: var(--uit2-ink);
  color: var(--uit2-on-dark);
}

/* --- provider dossiers -------------------------------------------------- */
.uit2-detail {
  background: var(--uit2-surface);
  border-top: 1px solid var(--uit2-rule);
  padding: clamp(44px, 5vw, 80px) 0;
}

.uit2-detail .uit2-sectiekop { margin-bottom: clamp(24px, 3vw, 44px); }

.uit2-dossiers {
  display: grid;
  gap: 0;
  border-top: 2px solid var(--uit2-ink);
}

.uit2-dossier {
  border-bottom: 1px solid var(--uit2-rule);
  padding: clamp(24px, 3vw, 34px) 0;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(18px, 3vw, 48px);
}

.uit2-dossier:last-child { border-bottom: 2px solid var(--uit2-ink); }

.uit2-dossier__zijde {
  flex: 0 0 auto;
  width: clamp(150px, 17vw, 190px);
}

.uit2-dossier__pos {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: var(--uit2-n600);
  margin: 10px 0 0;
}

.uit2-dossier__body {
  flex: 1 1 300px;
  min-width: 0;
}

.uit2-dossier__body h3 {
  font-size: clamp(19px, 2vw, 24px);
  letter-spacing: -0.02em;
  margin: 0 0 4px;
}

.uit2-dossier__domein {
  font-family: var(--uit2-mono);
  font-size: 11.5px;
  color: var(--uit2-n600);
  margin: 0 0 14px;
  word-break: break-all;
}

.uit2-dossier__body .uit2-lees {
  max-width: 66ch;
  line-height: 1.62;
  margin: 0 0 12px;
  text-wrap: pretty;
}

.uit2-dossier__body .uit2-lees:last-child { margin-bottom: 0; }

.uit2-momentlijst {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--uit2-rule);
  max-width: 60ch;
}

.uit2-momentlijst li {
  border-bottom: 1px solid var(--uit2-rule);
  padding: 11px 0;
  display: flex;
  gap: 14px;
  font-family: var(--uit2-mono);
  font-size: 12.5px;
  color: var(--uit2-ink);
}

.uit2-momentlijst li span:first-child {
  color: var(--uit2-primary);
  flex: 0 0 auto;
}

.uit2-redactienoot {
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.55;
  color: var(--uit2-n600);
  margin: 0;
  border-left: 2px solid var(--uit2-accent);
  padding-left: 14px;
  max-width: 58ch;
}

.uit2-dossier__slot {
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.55;
  color: var(--uit2-n600);
  margin: 0;
}

/* --- methodology -------------------------------------------------------- */
.uit2-werkwijze {
  background: var(--uit2-bg);
  padding: clamp(44px, 5vw, 80px) 0;
}

.uit2-werkwijze__rij {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 72px);
  align-items: flex-start;
}

.uit2-werkwijze__tekst {
  flex: 1 1 300px;
  min-width: 0;
  max-width: 520px;
}

.uit2-werkwijze__tekst h2 {
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.028em;
  margin: 0 0 16px;
}

.uit2-werkwijze__tekst .uit2-lees {
  line-height: 1.62;
  margin: 0 0 14px;
}

.uit2-werkwijze__tekst .uit2-lees:last-child { margin-bottom: 0; }

.uit2-werkwijzelijst {
  flex: 1 1 340px;
  min-width: 0;
  margin: 0;
  border-top: 2px solid var(--uit2-ink);
}

.uit2-werkwijzelijst > div {
  border-bottom: 1px solid var(--uit2-rule);
  padding: 16px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
}

.uit2-werkwijzelijst dt {
  flex: 0 0 auto;
  width: clamp(130px, 14vw, 170px);
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--uit2-n600);
}

.uit2-werkwijzelijst dd {
  flex: 1 1 220px;
  min-width: 0;
  margin: 0;
  font-family: var(--uit2-read);
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--uit2-body);
}

/* --- main explanation --------------------------------------------------- */
.uit2-uitbetaling {
  background: var(--uit2-surface);
  border-top: 1px solid var(--uit2-rule);
  border-bottom: 1px solid var(--uit2-rule);
  padding: clamp(48px, 6vw, 92px) 0;
}

.uit2-uitbetaling .uit2-sectiekop { margin-bottom: clamp(26px, 3vw, 44px); }

.uit2-uitbetaling .uit2-sectiekop__body h2 {
  font-size: clamp(26px, 3.6vw, 44px);
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin: 0;
  max-width: 26ch;
}

.uit2-uitbetaling__rij {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 4vw, 64px);
}

.uit2-uitlegkolom {
  flex: 1 1 420px;
  min-width: 0;
  max-width: 68ch;
}

.uit2-uitlegkolom__lead {
  font-family: var(--uit2-read);
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.62;
  color: var(--uit2-body);
  margin: 0 0 26px;
  text-wrap: pretty;
}

.uit2-uitlegkolom h3 {
  font-size: clamp(17px, 1.6vw, 20px);
  letter-spacing: -0.015em;
  margin: 0 0 10px;
}

.uit2-uitlegkolom .uit2-lees {
  line-height: 1.62;
  margin: 0 0 24px;
  text-wrap: pretty;
}

.uit2-uitlegkolom .uit2-lees:last-child { margin-bottom: 0; }

.uit2-begrippen {
  flex: 1 1 240px;
  min-width: 0;
  max-width: 340px;
  align-self: flex-start;
  border-top: 2px solid var(--uit2-ink);
  padding-top: 16px;
}

.uit2-begrippen .uit2-label { margin-bottom: 14px; }

.uit2-begrippen dl { margin: 0; }

.uit2-begrippen dl > div {
  border-bottom: 1px solid var(--uit2-rule);
  padding: 0 0 14px;
  margin-bottom: 14px;
}

.uit2-begrippen dl > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.uit2-begrippen dt {
  font-weight: 800;
  font-size: 14.5px;
  margin: 0 0 4px;
}

.uit2-begrippen dd {
  margin: 0;
  font-family: var(--uit2-read);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--uit2-n600);
}

/* --- phase rail (three-step, dark) -------------------------------------- */
.uit2-fasen {
  background: var(--uit2-plate);
  color: var(--uit2-on-dark);
  padding: clamp(48px, 6vw, 96px) 0;
}

.uit2-fasen__kop {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 4vw, 64px);
  align-items: flex-end;
  margin-bottom: clamp(30px, 4vw, 56px);
}

.uit2-fasen__kop h2 {
  flex: 1 1 320px;
  min-width: 0;
  font-size: clamp(26px, 3.6vw, 44px);
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin: 0;
  color: var(--uit2-on-dark);
  max-width: 22ch;
}

.uit2-fasen__kop p {
  flex: 1 1 260px;
  min-width: 0;
  font-family: var(--uit2-read);
  font-size: 16px;
  line-height: 1.6;
  color: var(--uit2-on-dark-read);
  margin: 0;
  max-width: 46ch;
}

.uit2-faserail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0;
  border-top: 1px solid var(--uit2-dark-rule);
}

.uit2-fasestap {
  padding: clamp(22px, 2.6vw, 32px) clamp(18px, 2vw, 30px) clamp(26px, 3vw, 40px) 0;
  border-right: 1px solid var(--uit2-dark-rule);
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.uit2-fasestap + .uit2-fasestap { padding-left: clamp(0px, 2vw, 30px); }

.uit2-fasestap:last-child {
  border-right: 0;
  padding-right: 0;
}

.uit2-fasestap__node {
  position: absolute;
  top: -7px;
  left: 0;
  width: 13px;
  height: 13px;
  background: var(--uit2-on-dark);
  display: block;
}

.uit2-fasestap--extern .uit2-fasestap__node { background: var(--uit2-accent); }

.uit2-fasestap__fase {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--uit2-on-dark-3);
  margin: 0 0 20px;
}

.uit2-fasestap--extern .uit2-fasestap__fase { color: var(--uit2-accent-on-dark); }

.uit2-fasestap h3 {
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.025em;
  margin: 0 0 12px;
  color: var(--uit2-on-dark);
}

.uit2-fasestap__tekst {
  font-family: var(--uit2-read);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--uit2-on-dark-2);
  margin: 0 0 20px;
}

.uit2-fasestap__wie {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--uit2-on-dark-3);
  margin: auto 0 0;
  border-top: 1px solid var(--uit2-dark-rule);
  padding-top: 12px;
}

.uit2-fasestap--extern .uit2-fasestap__wie { color: var(--uit2-accent-on-dark); }

.uit2-fasen__slot {
  font-family: var(--uit2-read);
  font-size: 15px;
  line-height: 1.6;
  color: var(--uit2-on-dark-3);
  margin: clamp(24px, 3vw, 36px) 0 0;
  max-width: 70ch;
}

/* --- phase matrix (secondary comparison) -------------------------------- */
.uit2-methoden {
  background: var(--uit2-bg);
  padding: clamp(44px, 5vw, 84px) 0;
}

.uit2-methoden .uit2-sectiekop { margin-bottom: clamp(22px, 3vw, 38px); }

.uit2-fasematrix { border-top: 2px solid var(--uit2-ink); }

.uit2-fasematrix__kop {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  padding: 12px 0;
  border-bottom: 1px solid var(--uit2-rule-strong);
}

.uit2-fasematrix__kop span {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--uit2-n600);
  flex: 1 1 180px;
  min-width: 0;
}

.uit2-fasematrix__kop span:first-child {
  flex: 0 0 auto;
  width: clamp(120px, 15vw, 190px);
}

.uit2-fasematrix__kop span:last-child { color: var(--uit2-accent-text); }

/* Below 901px each value carries its own phase label, so the column-head row
   would only repeat itself in a stack. */
@media (max-width: 900px) {
  .uit2-fasematrix__kop { display: none; }
}

.uit2-matrixregel {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--uit2-rule);
}

.uit2-matrixregel:nth-of-type(even) { background: var(--uit2-surface); }

.uit2-matrixregel:last-of-type { border-bottom: 2px solid var(--uit2-ink); }

.uit2-matrixregel dt {
  flex: 0 0 auto;
  width: clamp(120px, 15vw, 190px);
  font-weight: 800;
  font-size: 15px;
}

.uit2-matrixregel:nth-of-type(even) dt { padding-left: clamp(0px, 1vw, 12px); }

.uit2-matrixregel dd {
  flex: 1 1 180px;
  min-width: 0;
  margin: 0;
  font-family: var(--uit2-read);
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--uit2-body);
}

/* Each value repeats its phase name so a linearised row still reads as a pair.
   From 901px the column-head row carries the names, so the repeat is hidden
   from sight but kept for screen readers. */
.uit2-matrixregel__fase {
  display: block;
  font-family: var(--uit2-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--uit2-n600);
  margin-bottom: 3px;
}

@media (min-width: 901px) {
  .uit2-matrixregel__fase {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* --- FAQ ---------------------------------------------------------------- */
.uit2-vragen {
  background: var(--uit2-surface);
  border-top: 1px solid var(--uit2-rule);
  padding: clamp(44px, 5vw, 84px) 0;
}

.uit2-vragen__rij {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 72px);
  align-items: flex-start;
}

.uit2-vragen__zijde {
  flex: 1 1 240px;
  min-width: 0;
  max-width: 330px;
}

.uit2-vragen__zijde h2 {
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.028em;
  margin: 0 0 14px;
}

.uit2-vragen__zijde p {
  font-family: var(--uit2-read);
  font-size: 16px;
  line-height: 1.6;
  color: var(--uit2-n600);
  margin: 0;
}

.uit2-vragenlijst {
  flex: 1 1 420px;
  min-width: 0;
  border-top: 2px solid var(--uit2-ink);
}

.uit2-vraag { border-bottom: 1px solid var(--uit2-rule); }

.uit2-vraag:last-child { border-bottom: 2px solid var(--uit2-ink); }

.uit2-vraag > summary {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 0;
  min-height: 44px;
}

.uit2-vraag__nr {
  font-family: var(--uit2-mono);
  font-size: 11.5px;
  color: var(--uit2-primary);
  padding-top: 3px;
  flex: 0 0 auto;
}

.uit2-vraag__q {
  flex: 1;
  font-weight: 800;
  font-size: clamp(16px, 1.5vw, 18.5px);
  letter-spacing: -0.015em;
}

.uit2-vraag > summary:hover .uit2-vraag__q { color: var(--uit2-primary); }

.uit2-vraag > p {
  font-family: var(--uit2-read);
  font-size: 16px;
  line-height: 1.6;
  color: var(--uit2-body);
  margin: 0 0 20px;
  padding-left: 34px;
  max-width: 64ch;
}

/* --- responsible use ---------------------------------------------------- */
.uit2-grenzenvlak {
  background: var(--uit2-accent-surface);
  border-top: 1px solid var(--uit2-accent-surface-edge);
  border-bottom: 1px solid var(--uit2-accent-surface-edge);
  padding: clamp(36px, 4.5vw, 68px) 0;
}

.uit2-grenzenvlak__rij {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 56px);
}

.uit2-leeftijd {
  background: var(--uit2-ink);
  color: var(--uit2-on-dark);
  font-family: var(--uit2-mono);
  font-weight: 700;
  font-size: 16px;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.uit2-grenzenvlak__body {
  flex: 1 1 320px;
  min-width: 0;
  max-width: 64ch;
}

.uit2-grenzenvlak__body h2 {
  font-size: clamp(21px, 2.4vw, 30px);
  line-height: 1.14;
  letter-spacing: -0.025em;
  margin: 0 0 14px;
}

.uit2-grenzenvlak__body .uit2-lees {
  line-height: 1.62;
  margin: 0 0 14px;
}

.uit2-grenzenvlak__body .uit2-noot {
  border-top: 1px solid var(--uit2-accent-surface-edge);
  padding-top: 14px;
  margin-top: 18px;
}

/* --- provenance --------------------------------------------------------- */
.uit2-bronnen {
  background: var(--uit2-bg);
  padding: clamp(36px, 4vw, 64px) 0;
}

.uit2-herkomst {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 64px);
  align-items: flex-start;
}

.uit2-herkomst__tekst {
  flex: 1 1 280px;
  min-width: 0;
  max-width: 520px;
}

.uit2-herkomst__tekst h2 {
  font-size: clamp(21px, 2.4vw, 30px);
  line-height: 1.14;
  letter-spacing: -0.025em;
  margin: 0 0 14px;
}

.uit2-herkomst__tekst .uit2-lees { line-height: 1.62; }

.uit2-herkomst ul {
  flex: 1 1 280px;
  min-width: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 2px solid var(--uit2-ink);
  max-width: 420px;
}

.uit2-herkomst li {
  border-bottom: 1px solid var(--uit2-rule);
  padding: 14px 0;
  display: flex;
  gap: 16px;
  font-family: var(--uit2-mono);
  font-size: 12px;
  color: var(--uit2-ink);
}

.uit2-herkomst li span:first-child {
  color: var(--uit2-n600);
  flex: 0 0 auto;
}

/* --- footer plate ------------------------------------------------------- */
.uit2-voetplaat {
  background: var(--uit2-plate);
  color: var(--uit2-on-dark-2);
  padding: clamp(40px, 5vw, 72px) 0 clamp(24px, 3vw, 36px);
}

.uit2-voetplaat__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: clamp(28px, 4vw, 56px);
  border-bottom: 1px solid var(--uit2-dark-rule);
  padding-bottom: clamp(28px, 3.5vw, 44px);
}

.uit2-voetplaat__merk {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 14px;
}

.uit2-voetplaat__merk svg {
  display: block;
  flex: 0 0 auto;
}

.uit2-voetplaat__merk .uit2-woordmerk { color: var(--uit2-on-dark); }

.uit2-voetplaat__over {
  font-family: var(--uit2-read);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--uit2-on-dark-3);
  margin: 0;
}

.uit2-voetplaat__kop {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--uit2-on-dark-3);
  margin: 0 0 14px;
}

.uit2-voetplaat ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}

.uit2-voetplaat ul a {
  font-family: var(--uit2-mono);
  font-size: 12px;
  color: var(--uit2-on-dark-2);
  text-decoration: none;
  display: flex;
  align-items: center;
  min-height: 40px;
}

.uit2-voetplaat ul a:hover {
  color: var(--uit2-on-dark);
  text-decoration: underline;
  text-decoration-color: var(--uit2-accent);
}

.uit2-voetplaat__service a { border-bottom: 1px solid var(--uit2-dark-rule); }

.uit2-voetplaat__grenzen {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.uit2-voetplaat__leeftijd {
  background: var(--uit2-on-dark);
  color: var(--uit2-ink);
  font-family: var(--uit2-mono);
  font-weight: 700;
  font-size: 14px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.uit2-voetplaat__grenzen p {
  font-family: var(--uit2-read);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--uit2-on-dark-3);
  margin: 0;
}

.uit2-voetplaat__regel {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  justify-content: space-between;
  padding-top: 20px;
}

.uit2-voetplaat__regel p {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  color: var(--uit2-on-dark-4);
  margin: 0;
}

/* ==========================================================================
   Service pages + 404 — .uit2-servicepagina
   ========================================================================== */
.uit2-servicepagina {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.uit2-servicepagina main {
  flex: 1 0 auto;
  width: 100%;
  max-width: var(--uit2-wrap-doc);
  margin: 0 auto;
  padding: clamp(26px, 4vw, 52px) var(--uit2-gutter-doc) clamp(48px, 6vw, 88px);
}

.uit2-servicepagina .uit2-topplaat__inner,
.uit2-servicepagina .uit2-voetplaat__inner {
  max-width: var(--uit2-wrap-doc);
  margin: 0 auto;
  padding-inline: var(--uit2-gutter-doc);
}

.uit2-servicepagina .uit2-topplaat { position: static; }

.uit2-kruimels {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--uit2-n600);
  margin-bottom: clamp(20px, 3vw, 34px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.uit2-kruimels a {
  color: var(--uit2-n600);
  text-decoration: none;
  border-bottom: 1px solid var(--uit2-rule-mid);
  display: inline-block;
  padding-block: 6px;
}

.uit2-kruimels a:hover { color: var(--uit2-ink); }

.uit2-kruimels__hier { color: var(--uit2-ink); }

.uit2-servicerij {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 5vw, 72px);
  align-items: flex-start;
}

.uit2-servicenav {
  flex: 1 1 220px;
  min-width: 0;
  max-width: 260px;
  order: 2;
}

.uit2-servicenav__kop {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--uit2-n600);
  margin: 0 0 12px;
}

.uit2-servicenav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 2px solid var(--uit2-ink);
}

.uit2-servicenav li { border-bottom: 1px solid var(--uit2-rule); }

.uit2-servicenav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 13px 0;
  min-height: 44px;
  font-family: var(--uit2-mono);
  font-size: 12px;
  color: var(--uit2-ink);
  text-decoration: none;
}

.uit2-servicenav a:hover { color: var(--uit2-primary); }

.uit2-servicenav a[aria-current="page"] { font-weight: 700; }

.uit2-servicenav a[aria-current="page"] span { color: var(--uit2-accent); }

.uit2-servicenav__over {
  font-family: var(--uit2-read);
  font-size: 14px;
  line-height: 1.55;
  color: var(--uit2-n600);
  margin: 18px 0 0;
}

.uit2-serviceblad {
  flex: 3 1 420px;
  min-width: 0;
  order: 1;
}

.uit2-serviceblad__kicker {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--uit2-n600);
  margin: 0 0 14px;
}

.uit2-serviceblad h1 {
  font-size: clamp(28px, 4.4vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 18px;
  max-width: 20ch;
  text-wrap: balance;
}

.uit2-serviceblad__intro {
  font-family: var(--uit2-read);
  font-size: clamp(16.5px, 1.4vw, 18px);
  line-height: 1.6;
  color: var(--uit2-body);
  margin: 0 0 clamp(26px, 3vw, 40px);
  max-width: 64ch;
  border-bottom: 1px solid var(--uit2-rule);
  padding-bottom: clamp(24px, 3vw, 34px);
  text-wrap: pretty;
}

.uit2-serviceblok { margin-bottom: clamp(28px, 3.5vw, 44px); }

.uit2-serviceblok__kop {
  display: flex;
  gap: 16px;
  align-items: baseline;
  margin-bottom: 12px;
}

.uit2-serviceblok__kop span {
  font-family: var(--uit2-mono);
  font-size: 12px;
  color: var(--uit2-primary);
  flex: 0 0 auto;
}

.uit2-serviceblok__kop h2 {
  font-size: clamp(19px, 2vw, 24px);
  letter-spacing: -0.02em;
  margin: 0;
}

.uit2-serviceblok__body {
  padding-left: clamp(0px, 3vw, 36px);
  max-width: 66ch;
}

.uit2-serviceblok__body .uit2-lees {
  line-height: 1.62;
  margin: 0 0 12px;
}

.uit2-serviceblok__body .uit2-lees:last-child { margin-bottom: 0; }

.uit2-servicelijst {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--uit2-rule);
}

.uit2-servicelijst li {
  border-bottom: 1px solid var(--uit2-rule);
  padding: 11px 0;
  display: flex;
  gap: 14px;
  font-family: var(--uit2-read);
  font-size: 15.5px;
  color: var(--uit2-body);
}

.uit2-servicelijst li > span:first-child {
  color: var(--uit2-primary);
  font-family: var(--uit2-mono);
  flex: 0 0 auto;
}

.uit2-servicelijst li > span + span { min-width: 0; }

.uit2-serviceslot {
  border-top: 2px solid var(--uit2-ink);
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  justify-content: space-between;
  align-items: center;
}

.uit2-serviceslot p {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--uit2-n600);
  margin: 0;
}

.uit2-serviceslot a {
  font-family: var(--uit2-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--uit2-primary);
  text-decoration: none;
  border: 1px solid var(--uit2-primary-rule);
  padding: 11px 14px;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.uit2-serviceslot a:hover {
  background: var(--uit2-primary);
  color: var(--uit2-on-dark);
  border-color: var(--uit2-primary);
}

.uit2-voetplaat--smal {
  padding: clamp(28px, 3.5vw, 44px) 0;
  color: var(--uit2-on-dark-3);
}

.uit2-voetplaat--smal .uit2-voetplaat__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 32px;
  justify-content: space-between;
  align-items: center;
}

.uit2-voetplaat--smal p {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  margin: 0;
}

.uit2-voetplaat__leeftijdrij {
  display: flex;
  align-items: center;
  gap: 12px;
}

.uit2-voetplaat__leeftijdrij span:first-child {
  background: var(--uit2-on-dark);
  color: var(--uit2-ink);
  font-family: var(--uit2-mono);
  font-weight: 700;
  font-size: 12px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.uit2-voetplaat__leeftijdrij span:last-child {
  font-family: var(--uit2-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
}

/* --- 404 ---------------------------------------------------------------- */
.uit2-zoek {
  border-top: 2px solid var(--uit2-ink);
  padding-top: clamp(24px, 4vw, 44px);
}

.uit2-zoek__code {
  font-family: var(--uit2-mono);
  font-size: clamp(46px, 11vw, 96px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--uit2-primary);
  margin: 0 0 18px;
}

.uit2-zoek h1 {
  font-size: clamp(28px, 4.4vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 18px;
  max-width: 24ch;
  text-wrap: balance;
}

.uit2-zoek__intro {
  font-family: var(--uit2-read);
  font-size: clamp(16.5px, 1.4vw, 18px);
  line-height: 1.6;
  color: var(--uit2-body);
  margin: 0 0 clamp(24px, 3vw, 34px);
  max-width: 60ch;
}

.uit2-zoek ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--uit2-rule);
  max-width: 420px;
}

.uit2-zoek li { border-bottom: 1px solid var(--uit2-rule); }

.uit2-zoek li a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  min-height: 44px;
  font-family: var(--uit2-mono);
  font-size: 12.5px;
  text-decoration: none;
}

.uit2-zoek li a > span:first-child {
  color: var(--uit2-n600);
  flex: 0 0 auto;
}

.uit2-zoek li a > span + span { min-width: 0; }
