/* designated-2026 · juridisch. Overgenomen uit concepten/2026-10-08-juridische-pagina.html; base.css staat er niet in. */
.progress { position: fixed; z-index: 120; left: 0; top: 0; height: calc(3 * var(--u)); width: 100%; background: var(--lime); transform: scaleX(var(--p, 0)); transform-origin: 0 50%; }
.doc[hidden] { display: none; }
.lg-head { background: var(--light); color: var(--ink-dark); padding: calc(150 * var(--u)) var(--rand) 0; }
.lg-head .in { display: grid; grid-template-columns: calc(240 * var(--u)) minmax(0, calc(720 * var(--u))) 1fr; column-gap: calc(56 * var(--u)); justify-content: center; }
.lg-head .in > * { grid-column: 2 / 4; justify-self: start; }
.lg-head .crumb { font-family: "Fragment Mono", monospace; font-size: calc(11 * var(--u)); letter-spacing: .08em; text-transform: uppercase; color: var(--soft-dark); display: flex; gap: calc(10 * var(--u)); align-items: center; flex-wrap: wrap; }
.lg-head .crumb a:hover { color: var(--ink-dark); }
.lg-head .crumb span { opacity: .5; }
.lg-head h1 { margin-top: calc(26 * var(--u)); font-size: clamp(calc(52 * var(--u)), min(8.4vw, calc(120.96 * var(--u))), calc(136 * var(--u))); }
.lg-head h1 em { color: var(--navy); }
.lg-head .lede { margin-top: calc(28 * var(--u)); font-size: clamp(calc(19 * var(--u)), min(1.6vw, calc(23.04 * var(--u))), calc(24 * var(--u))); line-height: 1.45; letter-spacing: -.015em; max-width: 46ch; }
.lg-head .in > .meta { grid-column: 2; }
.lg-head .meta { justify-self: stretch; margin-top: calc(44 * var(--u)); padding: calc(22 * var(--u)) 0 calc(26 * var(--u)); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); display: flex; flex-wrap: wrap; gap: calc(16 * var(--u)) calc(32 * var(--u)); align-items: center; }
.lg-head .meta dt { font-family: "Fragment Mono", monospace; font-size: calc(11 * var(--u)); letter-spacing: .1em; text-transform: uppercase; color: var(--soft-dark); }
.lg-head .meta dd { margin-top: calc(5 * var(--u)); font-size: calc(15 * var(--u)); font-weight: 600; }
.lg-body { background: var(--light); color: var(--ink-dark); padding: calc(56 * var(--u)) var(--rand) calc(120 * var(--u) * var(--sy-b)); display: grid; grid-template-columns: calc(240 * var(--u)) minmax(0, calc(720 * var(--u))) 1fr; gap: calc(56 * var(--u)); justify-content: center; }
.lg-body aside { position: sticky; top: calc(110 * var(--u)); align-self: start; }
.lg-body .toc summary { list-style: none; font-family: "Fragment Mono", monospace; font-size: calc(11 * var(--u)); letter-spacing: .1em; text-transform: uppercase; color: var(--soft-dark); cursor: default; }
.lg-body .toc summary::-webkit-details-marker { display: none; }
.lg-body .toc ol { list-style: none; padding: 0; margin-top: calc(14 * var(--u)); border-left: 1px solid var(--line-light); max-height: calc(100vh - calc(290 * var(--u))); overflow-y: auto; scrollbar-width: thin; }
.lg-body .toc .grp { padding: calc(18 * var(--u)) 0 calc(6 * var(--u)) calc(16 * var(--u)); font-family: "Fragment Mono", monospace; font-size: calc(10.5 * var(--u)); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-dark); }
.lg-body .toc .grp:first-child { padding-top: calc(4 * var(--u)); }
.lg-body .toc a { display: grid; grid-template-columns: calc(26 * var(--u)) 1fr; padding: calc(7 * var(--u)) 0 calc(7 * var(--u)) calc(16 * var(--u)); margin-left: -1px; border-left: 2px solid transparent; font-size: calc(14 * var(--u)); line-height: 1.35; color: var(--soft-dark); transition: color .25s, border-color .25s; }
.lg-body .toc a .n { font-family: "Fragment Mono", monospace; font-size: calc(11 * var(--u)); padding-top: 2px; opacity: .7; }
.lg-body .toc a:hover { color: var(--ink-dark); }
.lg-body .toc a.on { color: var(--ink-dark); font-weight: 600; border-left-color: var(--navy); }
.lg-body .acts { margin-top: calc(26 * var(--u)); display: flex; gap: calc(8 * var(--u)); flex-wrap: wrap; }
.lg-body .acts a, .lg-body .acts button { font: inherit; font-size: calc(13 * var(--u)); font-weight: 600; display: inline-flex; gap: calc(8 * var(--u)); align-items: center; padding: calc(9 * var(--u)) calc(14 * var(--u)); border-radius: calc(999 * var(--u)); border: 1px solid var(--line-light); background: #fff; color: var(--ink-dark); cursor: pointer; transition: background .25s, color .25s; }
.lg-body .acts a:hover, .lg-body .acts button:hover { background: var(--navy); color: var(--ink); }
.lg-body .acts svg { width: calc(14 * var(--u)); height: calc(14 * var(--u)); }
.prose { font-size: calc(17.5 * var(--u)); line-height: 1.65; letter-spacing: -.003em; counter-reset: art; }
.prose > * + * { margin-top: 1.1em; }
.prose p + p, .prose p + ul, .prose p + ol, .prose ul + p { margin-top: 1em; }
.prose b { font-weight: 650; }
.prose a:not(.pill) { text-decoration: underline; text-decoration-color: rgba(10,29,41,.3); text-underline-offset: calc(3 * var(--u)); transition: text-decoration-color .25s; }
.prose a:not(.pill):hover { text-decoration-color: var(--navy); }
.prose ul { list-style: none; padding: 0; }
.prose ul li { position: relative; padding-left: calc(28 * var(--u)); }
.prose ul li + li { margin-top: .5em; }
.prose ul li::before { content: ""; position: absolute; left: calc(4 * var(--u)); top: .62em; width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 calc(3 * var(--u)) rgba(200,245,96,.25); }
.prose .art { counter-increment: art; scroll-margin-top: calc(110 * var(--u)); }
.prose > .art { margin-top: 3.2em; }
.prose .art > * + * { margin-top: 1em; }
.prose .art > h2 { font-size: clamp(calc(25 * var(--u)), min(2.2vw, calc(31.68 * var(--u))), calc(32 * var(--u))); font-weight: 700; letter-spacing: -.045em; line-height: 1.1; display: flex; gap: calc(14 * var(--u)); align-items: baseline; }
.prose .art > h2::before { content: counter(art, decimal-leading-zero); flex: none; font-family: "Fragment Mono", monospace; font-size: calc(11 * var(--u)); font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--soft-dark); padding: calc(6 * var(--u)) calc(9 * var(--u)); border-radius: calc(999 * var(--u)); border: 1px solid var(--line-light); background: #fff; transform: translateY(calc(-5 * var(--u))); }
.doc[data-kind="voorwaarden"] .prose .art > h2::before { content: "Art. " counter(art); }
.prose .art > h2 + * { margin-top: .9em; }
.prose ol.leden { list-style: none; padding: 0; counter-reset: lid; }
.prose ol.leden > li { counter-increment: lid; position: relative; padding-left: calc(52 * var(--u)); }
.prose ol.leden > li + li { margin-top: .8em; }
.prose ol.leden > li::before { content: counter(art) "." counter(lid); position: absolute; left: 0; top: .32em; font-family: "Fragment Mono", monospace; font-size: calc(12 * var(--u)); color: var(--soft-dark); }
.prose ol.defs dfn { display: block; font-style: normal; font-weight: 700; letter-spacing: -.01em; }
.prose .part { position: relative; overflow: hidden; margin-top: 4em; padding: calc(30 * var(--u)) calc(30 * var(--u)) calc(32 * var(--u)); border-radius: calc(var(--r) * 1.2); background: var(--navy); color: var(--ink); scroll-margin-top: calc(110 * var(--u)); }
.prose > :first-child { margin-top: 0; }
.prose .part .lbl { color: var(--soft); }
.prose .part .pt { margin-top: calc(14 * var(--u)); font-size: clamp(calc(32 * var(--u)), min(3.2vw, calc(46.08 * var(--u))), calc(46 * var(--u))); font-weight: 700; letter-spacing: -.06em; line-height: .95; }
.prose .part .pt em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; letter-spacing: -.02em; color: var(--lime); }
.prose .part p:not(.pt) { margin-top: calc(16 * var(--u)); font-size: calc(16 * var(--u)); line-height: 1.6; color: var(--soft); max-width: 58ch; }
.prose .part .mk { position: absolute; width: calc(300 * var(--u)); height: calc(300 * var(--u)); right: calc(-90 * var(--u)); bottom: calc(-120 * var(--u)); color: rgba(255,255,255,.05); pointer-events: none; }
.prose .part > :not(.mk) { position: relative; }
.prose .tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: calc(15 * var(--u)); line-height: 1.45; background: #fff; border: 1px solid var(--line-light); border-radius: var(--r); overflow: hidden; }
.prose .tbl th { text-align: left; font-family: "Fragment Mono", monospace; font-size: calc(10.5 * var(--u)); font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--soft-dark); padding: calc(14 * var(--u)) calc(18 * var(--u)); }
.prose .tbl td { padding: calc(14 * var(--u)) calc(18 * var(--u)); border-top: 1px solid var(--line-light); vertical-align: top; color: var(--soft-dark); }
.prose .tbl td:first-child { font-weight: 650; color: var(--ink-dark); }
.rights { display: grid; grid-template-columns: 1fr 1fr; gap: calc(10 * var(--u)); }
.rights > div { padding: calc(20 * var(--u)) calc(22 * var(--u)); border-radius: var(--r); background: #fff; border: 1px solid var(--line-light); font-size: calc(15 * var(--u)); line-height: 1.5; color: var(--soft-dark); }
.rights > div b { display: flex; gap: calc(10 * var(--u)); align-items: center; margin-bottom: calc(8 * var(--u)); font-size: calc(17 * var(--u)); font-weight: 700; letter-spacing: -.02em; color: var(--ink-dark); }
.rights > div b::before { content: ""; width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 calc(3 * var(--u)) rgba(200,245,96,.25); flex: none; }
.rights > div.wide { grid-column: 1 / -1; }
.prose .file { margin-top: 3.4em; display: grid; grid-template-columns: auto 1fr auto; gap: calc(18 * var(--u)); align-items: center; padding: calc(16 * var(--u)); border-radius: var(--r); background: #fff; border: 1px solid var(--line-light); text-decoration: none !important; transition: border-color .3s; }
.prose .file:hover { border-color: rgba(10,29,41,.35); }
.prose .file .fi { width: calc(52 * var(--u)); height: calc(64 * var(--u)); border-radius: calc(10 * var(--u)); background: var(--light); border: 1px solid var(--line-light); display: grid; place-items: center; font-family: "Fragment Mono", monospace; font-size: calc(11 * var(--u)); letter-spacing: .08em; color: var(--soft-dark); }
.prose .file .ft { font-size: calc(14 * var(--u)); line-height: 1.4; color: var(--soft-dark); }
.prose .file .ft b { display: block; font-size: calc(17 * var(--u)); letter-spacing: -.02em; color: var(--ink-dark); }
.prose .file .go { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); font-size: calc(14 * var(--u)); font-weight: 600; }
.prose .file .arr { width: calc(34 * var(--u)); height: calc(34 * var(--u)); border-radius: 50%; background: var(--navy); color: var(--lime); display: grid; place-items: center; transition: transform .35s var(--ease); }
.prose .file .arr .ico { transform: rotate(90deg); }
.prose .file:hover .arr { transform: translateY(2px); }
.prose .file + .ask { margin-top: calc(12 * var(--u)); }
.prose .ask { margin-top: 3.4em; padding: calc(26 * var(--u)) calc(28 * var(--u)); border-radius: var(--r); background: var(--navy); color: var(--ink); display: grid; grid-template-columns: 1fr auto; gap: calc(20 * var(--u)); align-items: center; }
.prose .ask p { font-size: calc(19 * var(--u)); font-weight: 700; letter-spacing: -.025em; line-height: 1.3; }
.prose .ask p span { display: block; margin-top: calc(4 * var(--u)); font-size: calc(15 * var(--u)); font-weight: 400; letter-spacing: 0; color: var(--soft); }
.prose .ask .pill { text-decoration: none; }
@media (max-width: 1100px) {
  .lg-body, .lg-head .in { grid-template-columns: calc(200 * var(--u)) minmax(0, 1fr); gap: calc(40 * var(--u)); }
  .lg-head .in > * { grid-column: 2; }
}
@media (max-width: 820px) {
  .lg-head { padding-top: calc(120 * var(--u)); }
  .lg-body, .lg-head .in { grid-template-columns: 1fr; }
  .lg-head .in > *, .lg-head .in > .meta { grid-column: 1; }
  .lg-body { padding-top: calc(28 * var(--u)); gap: calc(28 * var(--u)); }
  .lg-body aside { position: static; padding: calc(16 * var(--u)) calc(18 * var(--u)); border-radius: var(--r); background: #fff; border: 1px solid var(--line-light); }
  .lg-body .toc summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
  .lg-body .toc summary::after { content: "+"; font-size: calc(18 * var(--u)); line-height: 1; }
  .lg-body .toc[open] summary::after { content: "\2212"; }
  .lg-body .toc ol { max-height: none; }
  .lg-body .acts { display: none; }
  .lg-head .meta { gap: calc(14 * var(--u)) calc(28 * var(--u)); }
  .rights { grid-template-columns: 1fr; }
  .prose .ask { grid-template-columns: 1fr; }
  .prose .file .go { font-size: 0; gap: 0; }
  .prose ol.leden > li { padding-left: calc(44 * var(--u)); }
  .prose .tbl thead { display: none; }
  .prose .tbl tr { display: block; padding: calc(14 * var(--u)) calc(18 * var(--u)); border-top: 1px solid var(--line-light); }
  .prose .tbl tr:first-child { border-top: 0; }
  .prose .tbl td { display: block; padding: 0; border: 0; }
  .prose .tbl td + td { margin-top: calc(4 * var(--u)); }
}
@media (max-width: 480px) {
}
@media (prefers-reduced-motion: reduce) {
  .sp .h .ln > span, .sp .rise, #footer .rise { opacity: 1 !important; transform: none !important; }
}
@media print {
  #site, .progress, .lg-body aside, .prose .ask, .prose .file, #footer, .colofon { display: none !important; }
  body, .lg-head, .lg-body { background: #fff !important; color: #000; }
  .lg-head { padding: 0 0 calc(20 * var(--u)); }
  .lg-head .in, .lg-body { display: block; padding: 0; }
  .sp .h .ln > span, .sp .rise { opacity: 1 !important; transform: none !important; }
  .lg-head h1 { font-size: calc(44 * var(--u)); }
  .prose .part { background: none; color: #000; padding: 0; border-top: 2px solid #000; border-radius: 0; padding-top: calc(14 * var(--u)); }
  .prose .part p:not(.pt), .prose .part .lbl { color: #333; }
  .prose .part .mk { display: none; }
  .prose .art > h2 { break-after: avoid; }
}
