


:root{
  --canvas:#F7F2E4; --surface:#FFFFFF;
  --line:#E7E0CD; --line-soft:#EFEADB;
  --ink:#19241F; --muted:#6C7A74; --faint:#9AA6A0;
  --accent:#8A5533; --accent-bg:#F3E7DA;
  --ok:#1F9D6B; --ok-bg:#E5F3EC; --ok-tx:#0F6E4C;
  --warn:#CE921C; --warn-bg:#FBF1DA; --warn-tx:#8A5E0E;
  --bad:#C8514A; --bad-bg:#FAE8E6;
  --plan:#4F79B3; --plan-bg:#E8EFF8;
  
  --tile:0 1px 1px rgba(25,36,31,.06), 0 6px 14px -6px rgba(25,36,31,.16),
         0 14px 34px -18px rgba(25,36,31,.22), inset 0 1px 0 rgba(255,255,255,.65);
  
  --glass-bg:rgba(255,255,255,.30);
  --glass-blur:blur(22px) saturate(1.7);
  --glass-border:rgba(255,255,255,.55);
  
  --hoek:2px;
  
}

*{box-sizing:border-box;}
html{scrollbar-gutter:stable;}
body{margin:0;background:var(--surface);color:var(--ink);
     font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
     font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;letter-spacing:-0.015em;line-height:1.2;}
img{max-width:100%;}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;}



.sh{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);
    backdrop-filter:blur(9px);border-bottom:1px solid var(--line);}
.sh-in{max-width:1140px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:26px;}
.sh-brand{display:flex;align-items:center;gap:10px;flex:none;}
.sh-brand span{display:flex;flex-direction:column;line-height:1.1;}
.sh-brand b{font-size:19px;font-weight:700;letter-spacing:.01em;}
.sh-brand i{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:8.5px;
            letter-spacing:.14em;color:var(--faint);}
.sh-nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;}
.sh-nav a{padding:7px 12px;border-radius:var(--hoek);font-size:14px;color:var(--muted);font-weight:500;}
.sh-nav a:hover{background:var(--line-soft);color:var(--ink);}
.sh-nav a.on{background:var(--accent-bg);color:var(--accent);}
.sh-brand,.sh-nav a,.sh-lang a{transform:none!important;}

.sh-lang{display:flex;flex:none;gap:2px;border:1px solid var(--line);border-radius:var(--hoek);
  overflow:hidden;margin-left:10px;}
.sh-lang a{padding:6px 10px;font-family:"IBM Plex Mono",monospace;font-size:12px;
  color:var(--muted);font-weight:500;line-height:1.5;}
.sh-lang a:hover{background:var(--line-soft);color:var(--ink);}
.sh-lang a.on{background:var(--accent-bg);color:var(--accent);}
.sh-portal{flex:none;padding:9px 16px;border-radius:var(--hoek);background:var(--accent);color:#fff;
           font-weight:600;font-size:14px;box-shadow:0 6px 16px rgba(30,127,194,.22);}
.sh-portal:hover{filter:brightness(1.06);}

.lsw{display:grid;justify-items:center;}
.lsw > span{grid-area:1/1;white-space:nowrap;}
.lsw > .off{visibility:hidden;}


.msg a.draait{color:var(--accent);font-weight:700;
  border-bottom:2px solid rgba(30,111,184,.35);padding-bottom:1px;}
.msg a.draait:hover{border-bottom-color:var(--accent);}





.hero{position:relative;isolation:isolate;overflow:hidden;
      background-color:var(--surface);border-bottom:1px solid var(--line);}
.hero::before,.hero::after{content:"";position:absolute;inset:0;pointer-events:none;}



.hero::after{content:none;}

.hero-tekst{position:relative;}
.hero-tekst::before{content:"";position:absolute;z-index:-1;
                    top:-7.5px;bottom:-7.5px;left:50%;transform:translateX(-50%);width:100vw;
                    background-image:url("/assets/honeycomb.svg");background-repeat:repeat;
                    background-size:12px 7px;
                    
                    -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 14px,
                                       #000 calc(100% - 14px), transparent 100%),
                                       linear-gradient(to right, transparent 0, #000 9%,
                                       #000 91%, transparent 100%);
                    mask-image:linear-gradient(to bottom, transparent 0, #000 14px,
                               #000 calc(100% - 14px), transparent 100%),
                               linear-gradient(to right, transparent 0, #000 9%,
                               #000 91%, transparent 100%);
                    -webkit-mask-composite:source-in;mask-composite:intersect;}





.hero-in{position:relative;z-index:2;max-width:1140px;margin:0 auto;padding:64px 22px 58px;}


.hero-in > .hero-plan:first-child{justify-self:end;}
.hero-in > .hero-plan:last-child{justify-self:start;}

.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;
         text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.hero h1{font-size:clamp(30px,4.6vw,50px);font-weight:700;max-width:19ch;}
.hero .lead{font-size:17px;color:var(--muted);max-width:62ch;margin:26px 0 0;line-height:1.65;}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}


.hero-drawn .hero-in{padding:64px 22px 58px;}
@media (max-width:900px){
  
  .hero-drawn::before{opacity:.4;background-size:min(420px,86%) auto;
      background-position:right -10px bottom -10px;}
  .hero-drawn .hero-in{padding:60px 22px 150px;}
}



.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;
     padding:0 22px;border-radius:var(--hoek);font-family:inherit;font-size:15px;font-weight:600;
     border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;
     box-shadow:var(--tile);}
.btn:hover{background:var(--line-soft);}
.btn-primary{background:var(--accent);border-color:transparent;color:#fff;
             box-shadow:0 8px 20px rgba(30,111,184,.25);}
.btn-primary:hover{filter:brightness(1.08);background:var(--accent);}
.btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;}




.sec{max-width:1140px;margin:0 auto;padding:58px 22px;}

.sec > :first-child, .prose > :first-child, .alt .sec > :first-child{margin-top:0;}

.sec > :last-child, .prose > :last-child, .alt .sec > :last-child{margin-bottom:0;}

.sec > h2{font-size:clamp(22px,3vw,31px);font-weight:700;max-width:22ch;padding-bottom:8px;}
.sec > .sub{color:var(--muted);max-width:64ch;margin:14px 0 0;font-size:16px;}
.alt{background:var(--canvas);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;
      margin-top:34px;}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--hoek);padding:22px 23px;
      box-shadow:var(--tile);}

.card.breed{grid-column:1/-1;}
.card .ico{width:40px;height:40px;border-radius:var(--hoek);background:var(--accent-bg);
           color:var(--accent);display:flex;align-items:center;justify-content:center;
           margin-bottom:14px;}
.card .ico svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;
               stroke-linecap:round;stroke-linejoin:round;}
.card h3{font-size:16.5px;font-weight:650;margin-bottom:15px;}
.card p{color:var(--muted);font-size:14.5px;margin:0;line-height:1.65;}
.card p + p{margin-top:10px;}


.grid-2{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));max-width:820px;}

.grid.tweekolom{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));}
.kcard .kmark{display:block;margin:0 0 14px;}
.kcard .kname{font-size:17px;letter-spacing:.2px;}
.kcard .ksub{color:var(--faint);font-size:13px;margin:0 0 10px;font-weight:600;}


.plain{border-left:3px solid var(--accent);padding:4px 0 4px 18px;margin:26px 0;
       color:var(--muted);font-size:15.5px;max-width:66ch;}
.plain b{color:var(--ink);}



.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);
     border:1px solid var(--line);border-radius:var(--hoek);overflow:hidden;box-shadow:var(--tile);
     margin-top:30px;font-size:14.5px;}
.tbl th{background:var(--line-soft);color:var(--muted);font-size:11px;font-weight:600;
        letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:12px 15px;
        border-bottom:1px solid var(--line);}
.tbl td{padding:14px 15px;border-bottom:1px solid var(--line-soft);vertical-align:top;}
.tbl tr:last-child td{border-bottom:none;}

.tbl th.num,.tbl td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.tbl td b{font-weight:650;}
.tbl .note{color:var(--muted);font-size:13px;margin-top:5px;line-height:1.55;}


.cmd{background:var(--ink);color:#E8EDEA;border-radius:var(--hoek);padding:18px 20px;margin:22px 0;
     overflow-x:auto;font-size:13px;line-height:1.75;box-shadow:var(--tile);}
.cmd code{font-family:"IBM Plex Mono",ui-monospace,monospace;white-space:pre;}

.lbl{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;border-radius:var(--hoek);
     padding:2px 9px;border:1px solid transparent;white-space:nowrap;}
.lbl-ok{background:var(--ok-bg);color:var(--ok-tx);border-color:#cfe7da;}
.lbl-neutral{background:var(--line-soft);color:var(--muted);border-color:var(--line);}
.lbl-plan{background:var(--plan-bg);color:var(--plan);border-color:#d3e0f0;}



.prose{max-width:74ch;}

.prose.vol{max-width:none;}
.prose h2{font-size:22px;margin:34px 0 18px;}

.prose h3{font-size:17px;margin:26px 0 16px;}
.prose p{color:var(--muted);margin:0 0 14px;}
.prose li{color:var(--muted);margin-bottom:7px;}
.prose b{color:var(--ink);}
.prose a{color:var(--accent);font-weight:600;}
.prose a:hover{text-decoration:underline;}


.fld{margin:0 0 15px;max-width:560px;}
.fld label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;}
.fld .req{color:var(--bad);margin-left:2px;}
.fld input,.fld select{width:100%;height:36px;border:1px solid var(--line);border-radius:2px;
    padding:0 11px;font-size:13.5px;background:var(--canvas);color:var(--ink);font-family:inherit;}
.fld textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:2px;
    padding:9px 11px;font-size:13.5px;background:var(--canvas);color:var(--ink);
    font-family:inherit;line-height:1.6;resize:vertical;}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--accent);
    box-shadow:0 0 0 2px var(--accent-bg);}
.fld .hint{font-size:12px;color:var(--faint);margin-top:5px;}

.fld-check label{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;
                 font-size:14.5px;font-weight:500;color:var(--ink);text-transform:none;}
.fld-check input{width:17px;height:17px;min-height:0;flex:none;accent-color:var(--accent);}

.fld-sys .lbl{display:block;font-size:12px;color:var(--muted);margin-bottom:7px;}
.sys-row{display:flex;flex-wrap:wrap;gap:8px 18px;padding:2px 0;}
.sys-row label{display:flex;align-items:center;gap:7px;margin:0;cursor:pointer;font-size:14px;color:var(--ink);white-space:nowrap;}
.sys-row input{width:16px;height:16px;min-height:0;flex:none;margin:0;accent-color:var(--accent);}
.msg{border-radius:var(--hoek);padding:13px 16px;font-size:14.5px;margin:0 0 20px;max-width:640px;
     line-height:1.6;}
.msg-ok{background:var(--ok-bg);color:var(--ok-tx);border:1px solid #cfe7da;}
.msg-bad{background:var(--bad-bg);color:#8E2E27;border:1px solid #f0cbc6;}

.msg-warn{background:var(--warn-bg);color:var(--warn-tx);border:1px solid #edd9a6;}



.sf{background:var(--canvas);border-top:1px solid var(--line);margin-top:20px;}
.sf-in{max-width:1140px;margin:0 auto;padding:44px 22px 30px;display:grid;
       grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;}
.sf-col h4{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.15em;
           text-transform:uppercase;color:var(--muted);margin-bottom:13px;font-weight:600;}
.sf-col a{display:block;color:var(--muted);font-size:14px;padding:3px 0;}
.sf-col a:hover{color:var(--accent);}
.sf-col > p{color:var(--muted);font-size:13.5px;margin:13px 0 0;max-width:38ch;line-height:1.6;}
.sf-col .sh-brand a{padding:0;}
.sf-bar{border-top:1px solid var(--line);padding:16px 22px;text-align:center;
        font-size:12.5px;color:var(--faint);
        font-family:"IBM Plex Mono",monospace;letter-spacing:.03em;}

@media (max-width:880px){
  .sf-in{grid-template-columns:1fr 1fr;}
  .sh-in{flex-wrap:wrap;gap:12px;}
  .sh-nav{order:3;width:100%;margin-left:0;}
  .sh-portal{margin-left:auto;}
}
@media (max-width:560px){
  .sf-in{grid-template-columns:1fr;}
  .hero-in{padding:44px 18px 40px;}
  .sec{padding:42px 18px;}
}



.lin{position:relative;height:9px;margin:7px 0 3px;border:1px solid var(--line);
     border-radius:var(--hoek);background:var(--surface);}
.lin i{position:absolute;top:1px;bottom:1px;width:1px;background:var(--line);}
.lin i.lang{top:-4px;bottom:-1px;width:1.5px;background:var(--warn);}
.lin b{position:absolute;left:0;top:2px;bottom:2px;background:var(--accent);opacity:.5;
       border-radius:var(--hoek);}

.lin-open b{background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 72%,transparent 100%);}
.lin-cap{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--faint);margin:10px 0 0;}

.tbl td .lin{max-width:150px;margin-left:auto;}



a.btn{color:var(--ink);}
a.btn-primary{color:#fff;}



.tbl th.kkop{text-transform:none;letter-spacing:0;}
.kkop .kmark{width:22px;height:22px;flex:none;}

.knaam{font-family:'IBM Plex Sans',system-ui,sans-serif;font-weight:700;font-size:inherit;
       letter-spacing:.2px;color:inherit;text-transform:none;}

.tbl th.kkop a,.tbl td.kcel a{display:flex;align-items:center;gap:8px;color:inherit;}
.tbl td.kcel{text-align:center;}
.tbl td.kcel a{justify-content:center;}
.tbl th.kkop a:hover .knaam,.tbl td.kcel a:hover{filter:brightness(1.15);}
.kcel .vink{color:var(--ok);font-size:17px;line-height:1;}
.kcel .kruis{color:var(--bad);font-size:16px;line-height:1;}



.kpop{max-width:640px;border:1px solid rgba(30,111,184,.35);border-radius:var(--hoek);
      background:var(--surface);box-shadow:0 26px 70px rgba(12,40,28,.34);overflow:hidden;}
.kpop-hd{display:flex;align-items:center;gap:13px;padding:16px;background:#0B0F19;}
.kpop-hd .kmark{width:34px;height:34px;flex:none;}
.kpop-tt{min-width:0;}

.kpop-nm .knaam{font-size:16.5px;line-height:1.1;color:#FF642D;}
.kpop-sub{font-size:11.5px;margin-top:3px;color:#93A0B5;}
.kpop-bd{padding:20px;}
.kpop-bd .fld:last-of-type{margin-bottom:0;}

.fld-rij{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}

form:has(.fld-rij) .fld{max-width:none;}

.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.fld-rij.getal{grid-template-columns:1fr 130px;}
@media (max-width:560px){ .fld-rij{grid-template-columns:1fr;} }



.btn-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.btn-row.bar{width:100%;box-sizing:border-box;margin-top:14px;padding:12px 14px;
             border:1px solid var(--line);border-radius:2px;background:var(--accent-bg);
             justify-content:flex-end;min-height:60px;align-content:center;row-gap:10px;}
.btn-row.bar .bar-note{margin-right:auto;font-size:12px;color:var(--muted);}

.kpop-bd .btn{height:36px;font-size:13.5px;padding:0 14px;}


.shot{margin:20px 0 24px;max-width:520px;}
.shot-klik{display:block;position:relative;}
.shot img{display:block;width:100%;height:auto;border:1px solid var(--line);
          border-radius:var(--hoek);box-shadow:var(--tile);background:var(--surface);}
.shot-klik:hover img{border-color:var(--accent);}

.shot-loep{position:absolute;right:8px;bottom:8px;width:26px;height:26px;display:grid;
           place-items:center;background:var(--surface);border:1px solid var(--line);
           border-radius:var(--hoek);color:var(--accent);font-weight:700;font-size:16px;
           line-height:1;box-shadow:var(--tile);}
.shot figcaption{margin-top:9px;font-size:12.5px;color:var(--faint);max-width:56ch;line-height:1.6;}


.shot-groot{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:28px;
            background:rgba(25,36,31,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.shot-groot:target{display:grid;}
.shot-groot .shot-weg{position:absolute;inset:0;cursor:zoom-out;}
.shot-groot img{position:relative;max-width:min(1500px,96vw);max-height:82vh;width:auto;height:auto;
                border:1px solid var(--line);border-radius:var(--hoek);background:var(--surface);
                box-shadow:0 26px 70px rgba(12,40,28,.45);}
.shot-groot p{position:relative;margin:12px auto 0;max-width:min(1500px,96vw);color:#fff;
              font-size:13px;line-height:1.6;}


.knaam sup{color:#FF642D;font-weight:800;font-size:.6em;position:relative;top:-0.4em;line-height:0;}

.doet{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;}
.doet li{font-size:15px;line-height:1.55;color:var(--ink);padding-left:18px;position:relative;}
.doet li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--accent);}
.doet b{font-weight:700;}
@media (max-width:760px){.doet{grid-template-columns:1fr;}}

.prob{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px;margin-top:14px;}
.prob h3{font-size:16px;font-weight:700;margin:0 0 14px;color:var(--ink);}
.prob p{font-size:15.5px;line-height:1.6;color:var(--ink);margin:0 0 12px;}
.prob .prob-a{grid-column:1/-1;background:var(--accent-bg);border-radius:var(--hoek);padding:18px 20px;}
.prob .prob-a p{margin-bottom:10px;}
.prob .prob-s{font-weight:700;color:var(--accent);margin:0;}
@media (max-width:760px){.prob{grid-template-columns:1fr;}}

.grid.g2{grid-template-columns:1fr 1fr;}
.grid.g2 > .card:last-child:nth-child(odd){grid-column:1/-1;}  
@media (max-width:640px){.grid.g2{grid-template-columns:1fr;}}

.plain a.draait{font-weight:700;color:var(--accent);border-bottom:2px solid rgba(138,85,51,.35);padding-bottom:1px;}
.plain a.draait:hover{border-bottom-color:var(--accent);}
