/* website-stunter.nl — basisstijlen (bron: ontwerpsysteem base.css) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-strong);font-family:var(--font-display);font-weight:var(--fw-semibold);text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:var(--lh-heading);letter-spacing:var(--tracking-display)}
h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--tracking-heading)}
h3{font-size:var(--fs-h3);line-height:1.2;letter-spacing:var(--tracking-heading)}
h4{font-size:var(--fs-h4);line-height:var(--lh-snug);letter-spacing:var(--tracking-tight)}
h5{font-size:var(--fs-h5);line-height:var(--lh-snug);font-family:var(--font-body);font-weight:var(--fw-semibold)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-strong);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:.22em;transition:color var(--dur-fast) var(--ease-out),text-decoration-thickness var(--dur-fast) var(--ease-out)}
a:hover{color:var(--signal-700);text-decoration-thickness:2.5px}
::selection{background:var(--signal-200);color:var(--ink-950)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}
.ws-on-dark :focus-visible{outline-color:var(--focus-ring-inverse)}
.ws-on-dark{color:var(--text-inverse-muted)}
.ws-on-dark h1,.ws-on-dark h2,.ws-on-dark h3,.ws-on-dark h4,.ws-on-dark h5{color:var(--text-inverse)}
.ws-on-dark a{color:var(--text-inverse);text-decoration-color:var(--signal-400)}
.ws-on-dark a:hover{color:var(--signal-300)}
img,video{max-width:100%;height:auto;display:block}
.ws-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ws-display{font-family:var(--font-display);font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tracking-display);font-weight:var(--fw-semibold);color:var(--text-strong)}
.ws-lead{font-size:var(--fs-lead);line-height:1.5;color:var(--text-body);max-width:var(--measure-narrow)}
.ws-mono{font-family:var(--font-mono);font-size:.875em;letter-spacing:0}
.ws-accent-dash{display:inline-block;width:.34em;height:.12em;background:var(--accent);border-radius:1px;vertical-align:.28em}
.ws-reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}
.ws-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
