:root{font-family:system-ui,sans-serif;color:#352541;background:#faf7f2}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:24px;align-items:center;padding:24px max(20px,calc((100vw - 900px)/2));border-bottom:1px solid #ded6df}header strong{font-size:26px}main{max-width:900px;margin:auto;padding:40px 20px}h1{font:clamp(32px,6vw,52px)/1.1 Georgia,serif}h2{font-size:24px}section{margin:28px 0;padding:24px;background:white;border:1px solid #ded6df;border-radius:18px}.notice{padding:18px;background:#eae2f1;border-radius:12px;line-height:1.6}label{display:block;margin:16px 0 8px}input{max-width:100%;padding:12px;font:inherit;border:1px solid #756c79;border-radius:8px}input[type=password],input[type=email]{display:block;width:100%}#request-access-form{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #ded6df}button{padding:12px 18px;min-height:44px;background:#352541;color:white;border:0;border-radius:8px;font:inherit;cursor:pointer;margin-top:16px}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eae2f1;color:#352541}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.heading button{margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #ded6df;white-space:nowrap}a{color:#843c28}.muted{color:#756c79}.confirmation{display:flex;gap:12px;align-items:flex-start;line-height:1.5}.confirmation input{flex:none;margin-top:5px}#message{line-height:1.5}*:focus-visible{outline:3px solid #b64d31;outline-offset:3px}[hidden]{display:none!important}@media(max-width:500px){main{padding-top:18px}section{padding:16px}header{gap:16px;font-size:14px}}

#enrollment-form input:not([type=checkbox]){display:block;width:100%}#enrollment-terms{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}summary{cursor:pointer;padding:12px 0;font-weight:600}

.heading{flex-wrap:wrap}.heading h2{flex:1 1 180px}.heading button{flex:0 1 auto}

/* Huisstijl: logo in de kop, rustiger kaarten en duidelijke meldingen. */
header .brand{display:inline-flex;align-items:center;min-height:44px}header .brand img{display:block;width:140px;height:auto}header span{font-size:14px;color:#6a5f70;padding-left:20px;border-left:1px solid #ded6df}
h1{font-weight:400;letter-spacing:-1.2px;margin:12px 0 24px}
section{box-shadow:0 18px 44px #3525410c}section section{box-shadow:none;background:#fcfafd}
button{font-weight:600;transition:background .18s ease}button:not(.secondary):hover{background:#513862}.secondary:hover{background:#dfd3e8}
input:hover{border-color:#5f5566}
#message:empty{display:none}#message{background:#eae2f1;border-left:4px solid #b64d31;padding:14px 16px;border-radius:10px}
@media(max-width:500px){header .brand img{width:120px}header span{padding-left:14px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
header{padding-inline:max(20px,calc((100vw - 900px)/2 + 20px))}
