/* Conocido v2 — "IT die vooruitdenkt." (2026-10-02)
   Corporate én jong: nachtblauw + ion-blauw uit de glas-en-lichtreeks (Artlist), het groene
   statuslampje blijft als enige signaalkleur. Oranje (#ED6A35) alléén in de TDG-knipoog. */

:root{
  --paper:#F4F6FA;
  --paper-2:#E8ECF4;
  --mist:#E8ECF4;
  --white:#FFFFFF;
  --ink:#0A1022;
  --ink-2:#3A4560;
  --ink-3:#69728E;
  --night:#070B18;
  --night-2:#0D1328;
  --ion:#4C7DFF;
  --ion-d:#2F5BE6;
  --ion-l:#9DB8FF;
  --steel:#6E8FD8;
  --steel-d:#2F5BE6;
  --line:rgba(10,16,34,.12);
  --line-2:rgba(10,16,34,.07);
  --wline:rgba(255,255,255,.12);
  --led:#1FC764;
  --led-glow:rgba(31,199,100,.45);
  --tdg:#ED6A35;
  --r:18px;
  --wrap:1320px;
  --gut:clamp(16px,4vw,48px);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --glans:linear-gradient(100deg,#B9CCFF 0%,#6F97FF 42%,#4FE09A 100%);
  --glans-licht:linear-gradient(100deg,#2F5BE6 0%,#4C7DFF 50%,#17A85A 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ion);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
.glans{background:var(--glans-licht);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .glans,.donker .glans,.ink .glans{background-image:var(--glans)}

/* ---------- statuslampje ---------- */
.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--led);box-shadow:0 0 0 3px rgba(31,199,100,.16),0 0 10px var(--led-glow);flex:none;animation:led 2.8s ease-in-out infinite}
.led.oranje{background:var(--tdg);box-shadow:0 0 0 3px rgba(237,106,53,.18),0 0 10px rgba(237,106,53,.5)}
@keyframes led{0%,100%{opacity:1}50%{opacity:.55}}

/* ---------- kop (altijd donker glas) ---------- */
.statusbalk{background:#04060D;color:#8E99B5;overflow:hidden}
.statusbalk .t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.statusbalk .wrap{display:flex;align-items:center;gap:18px;min-height:34px;font-family:var(--mono);font-size:12px;letter-spacing:.03em}
.statusbalk .nu{display:flex;align-items:center;gap:9px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.statusbalk .nu b{color:#fff;font-weight:500}
.statusbalk .rechts{margin-left:auto;display:flex;gap:20px;white-space:nowrap}
.statusbalk a{text-decoration:none;color:#8E99B5}
.statusbalk a:hover{color:#fff}
.kop{position:sticky;top:0;z-index:50;background:rgba(7,11,24,.9);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid var(--wline);color:#fff}
.kop .wrap{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:block;flex:none}
.logo img{height:30px;width:auto}
.nav{display:flex;gap:2px;margin-left:auto}
.nav>a,.nav .sub>button{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:450;color:#BCC6DD;background:none;border:0;cursor:pointer;transition:color .2s,background .2s}
.nav>a:hover,.nav .sub>button:hover,.nav .sub:focus-within>button{color:#fff;background:rgba(255,255,255,.07)}
.nav a[aria-current=page]{color:#fff}
.nav a[aria-current=page]::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--led);margin-left:2px}
.sub{position:relative}
.sub>button svg{width:10px;height:10px;transition:transform .2s}
.sub-paneel{position:absolute;top:100%;left:-12px;padding-top:12px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.18s}
.sub:hover .sub-paneel,.sub:focus-within .sub-paneel{opacity:1;visibility:visible;transform:none}
.sub-paneel ul{list-style:none;margin:0;padding:8px;background:#0E1429;border:1px solid var(--wline);border-radius:16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);width:340px}
.sub-paneel a{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:8px;border-radius:11px;text-decoration:none;color:#fff}
.sub-paneel a:hover{background:rgba(255,255,255,.06)}
.sub-paneel img{width:44px;height:44px;border-radius:10px;object-fit:cover;background:var(--night)}
.sub-paneel b{display:block;font-weight:500;font-size:15px}
.sub-paneel small{display:block;font-size:13px;color:#8E99B5;line-height:1.35}
.kop .bel{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;white-space:nowrap;transition:background .2s,box-shadow .2s}
.kop .bel:hover{box-shadow:0 0 0 4px rgba(76,125,255,.35)}
.menuknop{display:none;margin-left:auto;background:none;border:1px solid var(--wline);border-radius:12px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.menuknop span,.menuknop span::before,.menuknop span::after{display:block;width:18px;height:1.6px;background:#fff;position:relative;transition:.2s}
.menuknop span::before,.menuknop span::after{content:"";position:absolute;left:0}
.menuknop span::before{top:-6px}.menuknop span::after{top:6px}
.menu-open .menuknop span{background:transparent}
.menu-open .menuknop span::before{top:0;transform:rotate(45deg)}
.menu-open .menuknop span::after{top:0;transform:rotate(-45deg)}

/* ---------- knoppen ---------- */
.knop{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:500;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .25s,transform .2s}
.knop svg{width:16px;height:16px;transition:transform .25s}
.knop:hover svg{transform:translateX(3px)}
.knop-ink{background:var(--ink);color:#fff}
.knop-ink:hover{background:#1A2448}
.knop-ion{background:var(--ion);color:#fff;box-shadow:0 10px 30px -10px rgba(76,125,255,.8),inset 0 1px 0 rgba(255,255,255,.25)}
.knop-ion:hover{background:#5D8AFF;box-shadow:0 14px 40px -10px rgba(76,125,255,.95),inset 0 1px 0 rgba(255,255,255,.3)}
.knop-glas{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.knop-glas:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.4)}
.knop-lijn{border-color:rgba(10,16,34,.25);color:var(--ink);background:transparent}
.knop-lijn:hover{border-color:var(--ink);background:rgba(255,255,255,.5)}
.knop-wit{background:#fff;color:var(--ink)}
.knop-wit:hover{box-shadow:0 0 0 4px rgba(76,125,255,.35)}
.pijl{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
.pijl:hover{border-color:var(--ink)}
.pijl svg{width:16px;height:16px;flex:none}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--night);color:#fff;overflow:hidden;isolation:isolate}
.hero-beeld{position:absolute;inset:0;z-index:-1}
.hero-beeld video,.hero-beeld img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.hero-beeld::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,24,.92) 0%,rgba(7,11,24,.55) 38%,rgba(7,11,24,0) 70%),linear-gradient(0deg,var(--night) 0%,rgba(7,11,24,0) 30%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:48px;align-items:end;min-height:min(calc(100vh - 106px - 92px),780px);padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(40px,5vw,64px)}
.hero-tekst{align-self:center}
.eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#AEB9D3;margin-bottom:28px}
.hero h1{font-size:clamp(46px,8.2vw,128px);font-weight:500;letter-spacing:-.055em;line-height:.92;hyphens:manual}
.hero h1 .glans{display:block;width:max-content;max-width:100%}
.hero .lede{max-width:40ch;font-size:clamp(18px,1.55vw,21px);line-height:1.5;color:#C4CDE2;margin:30px 0 38px}
.hero .knoppen{display:flex;flex-wrap:wrap;gap:12px}

/* live-feed */
.feed{border-radius:20px;background:rgba(10,16,34,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;max-width:420px;justify-self:end;width:100%}
.feed-kop{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;font-weight:500}
.feed-kop .mono{margin-left:auto;font-size:11px;color:#7F8BA8;text-transform:uppercase;letter-spacing:.08em}
.feed ol{list-style:none;margin:0;padding:6px 0;height:272px;overflow:hidden;position:relative}
.feed li{display:grid;grid-template-columns:44px 10px minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 18px;font-size:14px;line-height:1.4;color:#D5DCEC;transition:opacity .5s,transform .5s,background 1.2s}
.feed li time{font-family:var(--mono);font-size:11.5px;color:#7F8BA8}
.feed li i,.feed-voet i{width:8px;height:8px;border-radius:50%;display:inline-block;align-self:center;background:var(--ion-l)}
.feed li[data-s=ai] i,.feed-voet i[data-s=ai]{background:var(--led)}
.feed li[data-s=sec] i,.feed-voet i[data-s=sec]{background:#F2B84B}
.feed li[data-s=mens] i,.feed-voet i[data-s=mens]{background:#fff}
.feed li.nieuw{background:rgba(76,125,255,.12)}
.feed li.in{animation:feedin .6s cubic-bezier(.2,.7,.2,1)}
@keyframes feedin{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.feed ol::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(0deg,rgba(12,18,38,.95),rgba(12,18,38,0));pointer-events:none}
.feed-voet{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:11px;color:#7F8BA8}
.feed-voet span{display:flex;align-items:center;gap:7px}

/* logo-band */
.hero-logos{border-top:1px solid rgba(255,255,255,.08);background:rgba(4,6,13,.4)}
.hero-logos .wrap{display:flex;align-items:center;gap:32px;height:92px}
.hero-logos p{margin:0;color:#7F8BA8;white-space:nowrap;text-transform:uppercase;font-size:11px;letter-spacing:.1em}
.loop{flex:1;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.loop ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:56px;padding-right:56px;flex:none;animation:loop 46s linear infinite}
.loop img{height:30px;width:auto;max-width:130px;object-fit:contain;filter:brightness(0) invert(1);opacity:.55}
@keyframes loop{to{transform:translateX(-100%)}}

/* ---------- secties ---------- */
.sectie{padding:clamp(80px,10vw,150px) 0}
.sectie-kop{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px 72px;align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.nr{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--ion-d);display:flex;align-items:center;gap:10px;margin-bottom:20px}
.nr::before{content:"";width:28px;height:1px;background:currentColor}
.sectie h2{font-size:clamp(36px,5vw,72px);letter-spacing:-.045em}
.sectie-kop p{color:var(--ink-2);font-size:18px;max-width:46ch;margin:0}
.wit{background:var(--white)}
.donker,.ink{background:var(--night);color:#E6ECF6;position:relative;isolation:isolate;overflow:hidden}
.donker::before,.ink::before{content:"";position:absolute;z-index:-1;right:-20%;top:-30%;width:80%;height:110%;background:radial-gradient(closest-side,rgba(76,125,255,.22),rgba(76,125,255,0));pointer-events:none}
.donker h2,.ink h2{color:#fff}
.donker .nr,.ink .nr{color:var(--ion-l)}
.donker .sectie-kop p,.ink .sectie-kop p{color:#A9B4CE}
.ink .knop-lijn,.donker .knop-lijn{border-color:rgba(255,255,255,.3);color:#fff}
.ink .knop-lijn:hover,.donker .knop-lijn:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* ---------- bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(270px,auto);gap:14px}
.tegel{position:relative;display:flex;align-items:flex-end;border-radius:var(--r);overflow:hidden;background:var(--night);color:#fff;text-decoration:none;isolation:isolate;min-height:270px}
.tegel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.tegel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,11,24,.92) 0%,rgba(7,11,24,.35) 45%,rgba(7,11,24,0) 70%)}
.tegel:hover img{transform:scale(1.05)}
.tegel.groot{grid-column:span 2;grid-row:span 2}
.tegel.breed{grid-column:span 2}
.tegel-tekst{display:flex;flex-direction:column;gap:6px;padding:24px 64px 24px 24px}
.tegel .mono{color:var(--ion-l);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em}
.tegel b{font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.15}
.tegel.groot b{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;max-width:14ch}
.tegel small{font-size:14.5px;line-height:1.45;color:#B4BED6;max-width:42ch}
.tegel .go{position:absolute;right:20px;bottom:22px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:background .25s,transform .25s}
.tegel .go svg{width:16px;height:16px}
.tegel:hover .go{background:var(--ion);border-color:var(--ion);transform:translateX(2px)}
.tegel.alle{background:linear-gradient(140deg,#2F5BE6 0%,#4C7DFF 55%,#1FB86A 140%)}
.tegel.alle::after{display:none}
.tegel.alle .mono{color:rgba(255,255,255,.75)}
.tegel.alle small{color:rgba(255,255,255,.85)}
.tegel.alle b{font-size:clamp(30px,2.6vw,40px)}

/* ---------- AI ---------- */
.ai-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.jennifer{border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);overflow:hidden;display:flex;flex-direction:column}
.j-kop{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.j-kop b{display:block;font-weight:500;font-size:16px;color:#fff}
.j-kop small{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#9AA6C2}
.j-kop small .led{width:6px;height:6px}
.j-kop>.mono{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7F8BA8;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px 9px}
.j-avatar{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#6F97FF,#2F5BE6 60%,#16307E);display:flex;align-items:center;justify-content:center;gap:2.5px;flex:none;box-shadow:0 0 0 3px rgba(76,125,255,.2),0 0 22px rgba(76,125,255,.5)}
.j-avatar i{width:2.5px;height:14px;border-radius:2px;background:#fff;animation:golf 1.3s ease-in-out infinite}
.j-avatar i:nth-child(1){height:6px;animation-delay:-.2s}.j-avatar i:nth-child(2){height:12px;animation-delay:-.5s}
.j-avatar i:nth-child(3){height:18px;animation-delay:-.9s;background:#7FF0B4}.j-avatar i:nth-child(4){height:12px;animation-delay:-.3s}.j-avatar i:nth-child(5){height:6px;animation-delay:-.7s}
@keyframes golf{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.j-log{display:flex;flex-direction:column;gap:10px;padding:20px;height:360px;overflow-y:auto;scroll-behavior:smooth}
.bub{max-width:86%;padding:11px 15px;border-radius:16px;font-size:15px;line-height:1.45;animation:feedin .45s cubic-bezier(.2,.7,.2,1)}
.bub.j{align-self:flex-start;background:rgba(255,255,255,.08);color:#E6ECF6;border-bottom-left-radius:5px}
.bub.u{align-self:flex-end;background:var(--ion);color:#fff;border-bottom-right-radius:5px}
.bub.typen{display:flex;gap:5px;padding:14px 16px}
.bub.typen i{width:6px;height:6px;border-radius:50%;background:#9AA6C2;animation:typen 1s ease-in-out infinite}
.bub.typen i:nth-child(2){animation-delay:.15s}.bub.typen i:nth-child(3){animation-delay:.3s}
@keyframes typen{0%,100%{opacity:.3;transform:none}50%{opacity:1;transform:translateY(-3px)}}
.ticket{align-self:flex-start;display:grid;gap:3px;padding:12px 15px;border-radius:12px;border:1px solid rgba(31,199,100,.35);background:rgba(31,199,100,.07);font-family:var(--mono);font-size:12px;color:#BFF2D4;animation:feedin .45s cubic-bezier(.2,.7,.2,1)}
.ticket b{color:#fff;font-weight:500;display:flex;align-items:center;gap:8px}
.j-chips{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px 20px;border-top:1px solid rgba(255,255,255,.08)}
.chip{padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#E6ECF6;font-size:14px;cursor:pointer;transition:.2s;text-align:left}
.chip:hover{border-color:var(--ion-l);background:rgba(76,125,255,.14)}
.chip[disabled]{opacity:.4;cursor:default}
.ai-punten{list-style:none;margin:0;padding:0;display:grid}
.ai-punten li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;align-items:baseline;padding:28px 0;border-top:1px solid rgba(255,255,255,.1)}
.ai-punten li:first-child{border-top:0;padding-top:4px}
.ai-punten .mono{color:var(--ion-l)}
.ai-punten h3{font-size:clamp(22px,2vw,28px);color:#fff;letter-spacing:-.03em;margin-bottom:10px}
.ai-punten p{color:#A9B4CE;margin:0;font-size:16.5px}
.ai-punten a{color:#fff;text-underline-offset:3px}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.team-foto{margin:0}
.team-foto img{width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;border-radius:22px}
.team-foto figcaption{margin-top:14px;font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.team-foto figcaption b{color:var(--ink);font-weight:500}
.team-foto figcaption i{font-style:normal;color:var(--ion-d)}
.team h2{font-size:clamp(34px,4vw,56px)}
.team .intro{color:var(--ink-2);font-size:18px;margin:22px 0 10px;max-width:46ch}
.drie{margin:0;display:grid}
.drie>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.drie dt{font-size:22px;font-weight:500;letter-spacing:-.03em}
.drie dd{margin:0;color:var(--ink-2);font-size:16px}

/* ---------- support: lijn ---------- */
.lijnen{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.lijn{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px 40px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.lijn h3{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;color:#fff}
.lijn .via{color:#A9B4CE;font-size:15.5px;line-height:1.5}
.lijn .via a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.lijn .via a:hover{border-color:#fff}
.meter{display:grid;gap:9px}
.meter .balk{height:6px;border-radius:6px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.meter .balk i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:linear-gradient(90deg,var(--ion),var(--ion-l));width:0;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.meter.spoed .balk i{background:linear-gradient(90deg,var(--led),#7BE3A6)}
.zichtbaar .meter .balk i{width:var(--w)}
.meter .mono{display:flex;justify-content:space-between;color:#A9B4CE}
.meter .mono b{color:#fff;font-weight:500;font-size:15px;font-family:var(--sans);letter-spacing:-.01em}
.nu-dienst{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:24px 28px;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.nu-dienst .wie{display:flex;align-items:center;gap:14px;font-size:18px;color:#fff}
.nu-dienst .wie small{display:block;font-size:14px;color:#A9B4CE}
.nu-dienst .knoppen{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px}

/* ---------- mailcheck ---------- */
.check{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
.check h2{font-size:clamp(36px,4.6vw,64px)}
.check-form{display:flex;gap:8px;padding:8px;border-radius:999px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 40px -30px rgba(10,16,34,.5)}
.check-form input{flex:1;min-width:0;border:0;background:transparent;padding:10px 16px;font-size:18px;outline:none}
.check-form input::placeholder{color:#9AA3B5}
.check-form .knop{padding:12px 22px}
.check-note{font-size:14px;color:var(--ink-3);margin-top:14px}
.rapport{border-radius:var(--r);background:var(--night);color:#E6ECF6;border:1px solid var(--night);overflow:hidden;min-height:280px;box-shadow:0 40px 70px -40px rgba(10,16,34,.6)}
.rapport-kop{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:12px;color:#7F8BA8}
.rapport-kop .dom{color:#fff;margin-left:auto}
.rapport-leeg{padding:34px 22px;color:#9AA6C2;font-size:15px}
.rapport-leeg a{color:#fff}
.rapport-leeg ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;font-family:var(--mono);font-size:12.5px}
.rapport-leeg li{display:flex;gap:12px;align-items:center}
.rapport-leeg li::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3)}
.score{display:flex;align-items:center;gap:20px;padding:24px 22px 18px}
.score b{font-size:64px;font-weight:500;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.score span{color:#A9B4CE;font-size:15px;line-height:1.4}
.score strong{color:#fff}
.checks{list-style:none;margin:0;padding:0 22px 8px}
.checks li{display:grid;grid-template-columns:20px 90px 1fr;gap:12px;align-items:baseline;padding:13px 0;border-top:1px solid rgba(255,255,255,.08);font-size:14.5px;line-height:1.45}
.checks li strong{font-weight:600;color:#fff}
.checks li small{color:#9AA6C2;font-size:13.5px;display:block}
.checks .s{width:10px;height:10px;border-radius:50%;background:#56607A;position:relative;top:1px}
.checks [data-s=goed] .s{background:var(--led);box-shadow:0 0 8px var(--led-glow)}
.checks [data-s=kan-beter] .s{background:#E7B23A}
.checks [data-s=let-op] .s{background:#FF6B6B}
.rapport-slot{margin:0;padding:16px 22px 20px;border-top:1px solid rgba(255,255,255,.08);font-size:14.5px;color:#C4CDE2}
.rapport-slot a{color:var(--ion-l)}
.laden{padding:34px 22px;font-family:var(--mono);font-size:13px;color:#9AA6C2}
.laden::after{content:"";display:inline-block;width:8px;height:14px;background:#9AA6C2;margin-left:4px;vertical-align:-2px;animation:cursor 1s steps(1) infinite}
@keyframes cursor{50%{opacity:0}}

/* ---------- klanten + certificaten ---------- */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;padding:0;margin:0}
.logos li{list-style:none;background:var(--paper);display:grid;place-items:center;height:120px;padding:22px}
.logos img{max-height:56px;max-width:100%;width:auto;height:auto;opacity:.78}
.certs{display:flex;flex-wrap:wrap;gap:10px 22px;margin:32px 0 0;padding:0;list-style:none;font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.03em}
.certs li{display:flex;align-items:center;gap:8px}
.certs li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ion)}

/* ---------- CTA ---------- */
.cta{text-align:center;background:radial-gradient(900px 420px at 50% 0%,rgba(76,125,255,.12),rgba(76,125,255,0)),var(--paper)}
.cta h2{font-size:clamp(42px,6.4vw,96px);letter-spacing:-.055em;max-width:13ch;margin:0 auto}
.cta p{color:var(--ink-2);font-size:19px;max-width:44ch;margin:24px auto 36px}
.kanalen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:56px;text-align:left}
.kanaal{display:block;padding:26px;border-radius:var(--r);background:var(--white);border:1px solid var(--line-2);text-decoration:none;transition:.25s}
.kanaal:hover{border-color:rgba(76,125,255,.5);transform:translateY(-3px);box-shadow:0 24px 40px -30px rgba(47,91,230,.6)}
.kanaal .mono{color:var(--ion-d);text-transform:uppercase}
.kanaal b{display:block;font-size:22px;font-weight:500;letter-spacing:-.025em;margin:10px 0 4px}
.kanaal small{color:var(--ink-3);font-size:14.5px}

/* ---------- voet ---------- */
.voet{background:var(--night);color:#8E99B5;padding:80px 0 28px;font-size:15px}
.voet a{text-decoration:none;color:#D0D8EA}
.voet a:hover{color:#fff}
.voet-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.voet-top img{height:30px;width:auto;margin-bottom:22px}
.voet-top p{max-width:34ch;line-height:1.55}
.voet h4{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:#6C7896;margin-bottom:16px}
.voet ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vestigingen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.vestigingen b{display:flex;align-items:center;gap:9px;color:#fff;font-weight:500;font-size:17px;margin-bottom:6px}
.vestigingen span{display:block;line-height:1.6}
.voet-onder{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:26px;font-family:var(--mono);font-size:12px;color:#6C7896}
.voet-onder .tdg{margin-left:auto;display:flex;align-items:center;gap:9px}
.voet-onder .tdg a{color:#fff}

/* ---------- rekentool ---------- */
.reken{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(28px,4vw,56px);align-items:start}
.schuif{position:sticky;top:120px;padding:30px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-2)}
.schuif label{display:block;font-size:15px;color:var(--ink-2);margin-bottom:6px}
.schuif .aantal{font-size:clamp(64px,7vw,96px);font-weight:600;letter-spacing:-.05em;line-height:1;display:flex;align-items:baseline;gap:12px;font-variant-numeric:tabular-nums}
.schuif .aantal small{font-size:17px;font-weight:400;letter-spacing:0;color:var(--ink-3)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:18px 0 6px;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--ink) var(--p,5%),rgba(21,29,51,.15) var(--p,5%))}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:rgba(21,29,51,.15)}
input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px rgba(21,29,51,.25);margin-top:-11px}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px rgba(21,29,51,.25)}
.schaal{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.staffel{margin:22px 0 0;padding:16px 0 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.staffel ol{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.staffel li{font-family:var(--mono);font-size:11.5px;padding:8px 6px;border-radius:8px;text-align:center;border:1px solid var(--line);color:var(--ink-3);transition:.25s}
.staffel li b{display:block;font-family:var(--sans);font-size:15px;color:var(--ink-2);font-weight:500}
.staffel li.aan{background:var(--ink);color:#C9D4E0;border-color:var(--ink)}
.staffel li.aan b{color:#fff}
.pakketten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pakket{position:relative;display:flex;flex-direction:column;padding:24px 22px 22px;border-radius:var(--r);border:1px solid var(--line);background:var(--white);cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}
.pakket:hover{border-color:rgba(21,29,51,.35)}
.pakket[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),0 22px 40px -28px rgba(21,29,51,.6)}
.pakket .kies{position:absolute;top:22px;right:20px;width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(21,29,51,.3);display:grid;place-items:center}
.pakket[aria-pressed=true] .kies{border-color:var(--ink);background:var(--ink)}
.pakket[aria-pressed=true] .kies::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--led)}
.pakket .handle{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--steel-d);text-transform:uppercase}
.pakket h3{font-size:26px;letter-spacing:-.03em;margin:6px 0 4px}
.pakket .tag{font-size:14px;line-height:1.4;color:var(--ink-3);min-height:3.6em;margin:0 0 16px}
.pakket .prijs{font-size:34px;font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.pakket .prijs small{font-size:14px;font-weight:400;letter-spacing:0;color:var(--ink-3)}
.pakket .pg{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin:6px 0 16px}
.pakket ul{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line-2);display:grid;gap:7px;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.pakket li{display:grid;grid-template-columns:14px 1fr;gap:8px}
.pakket li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--steel);margin-top:7px}
.modules{margin-top:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--white);padding:8px 22px}
.modules>p{margin:14px 0 6px;font-weight:500}
.module{display:grid;grid-template-columns:22px 1fr auto;gap:14px;align-items:baseline;padding:13px 0;border-top:1px solid var(--line-2);cursor:pointer;font-size:15px}
.module:first-of-type{border-top:0}
.module input{width:18px;height:18px;accent-color:var(--ink);margin:0;position:relative;top:3px}
.module .p{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);text-align:right;white-space:nowrap}
.module small{display:block;color:var(--ink-3);font-size:13px;margin-top:2px}
.totaal{margin-top:24px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 32px;padding:26px 28px;border-radius:var(--r);background:var(--ink);color:#fff}
.totaal .bedrag{font-size:clamp(40px,4.4vw,58px);font-weight:600;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.totaal .bedrag small{font-size:16px;font-weight:400;letter-spacing:0;color:#AFBCCB;margin-left:6px}
.totaal .uitleg{font-size:13.5px;color:#AFBCCB;max-width:44ch;line-height:1.45}
.totaal .uitleg b{color:#fff;font-weight:500}
.totaal .knop{margin-left:auto}
.voorbehoud{font-size:13px;color:var(--ink-3);margin-top:14px;max-width:80ch}

/* ---------- software ---------- */
.software{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;border-top:1px solid var(--line)}
.software a{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
.software .ic{width:40px;height:40px;border-radius:10px;background:var(--mist);display:grid;place-items:center;color:var(--ink)}
.software .ic svg{width:21px;height:21px}
.software b{display:block;font-size:19px;font-weight:600;letter-spacing:-.02em}
.software small{display:block;font-size:14.5px;color:var(--ink-3);line-height:1.4}
.software .go{width:18px;height:18px;opacity:.35;transition:.25s}
.software a:hover .go{opacity:1;transform:translateX(3px)}

/* ---------- TDG-knipoog ---------- */
.buren{background:#0C0D10;color:#E8E6E3;position:relative;overflow:hidden}
.buren::before{content:"";position:absolute;right:-12%;top:-40%;width:70%;height:180%;background:radial-gradient(closest-side,rgba(237,106,53,.22),rgba(237,106,53,0));pointer-events:none}
.buren .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px 72px;align-items:center;padding-top:clamp(64px,8vw,110px);padding-bottom:clamp(64px,8vw,110px)}
.buren .nr{color:#9C9892}
.buren h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.04em;color:#fff}
.buren h2 em{font-style:italic;font-family:"Instrument Serif",Georgia,serif;font-weight:400;color:var(--tdg);letter-spacing:-.01em}
.buren p{color:#B5B0AA;font-size:18px;max-width:44ch;margin:24px 0 32px}
.buren .knop{background:var(--tdg);color:#fff}
.buren .knop:hover{background:#F07D4F}
.buren .tdg-kaart{border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:26px;background:rgba(255,255,255,.03)}
.buren .tdg-kaart img{height:44px;width:auto;margin-bottom:22px}
.buren .tdg-kaart ul{list-style:none;margin:0;padding:0;display:grid}
.buren .tdg-kaart li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);font-size:15.5px}
.buren .tdg-kaart li span{font-family:var(--mono);font-size:12px;color:#9C9892;display:flex;align-items:center;gap:8px}

/* ---------- binnenpagina's ---------- */
.paginakop{padding:clamp(56px,8vw,110px) 0 clamp(40px,5vw,64px)}
.paginakop h1{font-size:clamp(44px,6.4vw,96px);letter-spacing:-.045em;line-height:.96;max-width:14ch}
.paginakop .lede{font-size:clamp(18px,1.7vw,22px);color:var(--ink-2);max-width:48ch;margin:26px 0 0;line-height:1.5}
.kruimel{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);margin-bottom:28px;display:flex;flex-wrap:wrap;gap:8px}
.kruimel a{text-decoration:none;color:var(--ink-2)}
.kruimel a:hover{color:var(--ink)}

.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:calc(100vh - 106px)}
.product .foto{background:var(--mist);position:relative;overflow:hidden}
.product .foto img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.product .foto .code{position:absolute;top:22px;left:22px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-2);display:flex;align-items:center;gap:9px}
.product .tekst{padding:clamp(40px,6vw,96px) var(--gut) clamp(40px,6vw,96px) clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:center;max-width:720px}
.product h1{overflow-wrap:break-word;font-size:clamp(32px,4.4vw,76px);letter-spacing:-.045em;line-height:.96;margin-bottom:28px}
.product .intro{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--ink);margin-bottom:22px}
.product .tekst p{color:var(--ink-2)}
.product .knoppen{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.verwant{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

.kaart{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r);background:var(--white);border:1px solid var(--line-2);text-decoration:none;transition:border-color .2s,transform .25s,box-shadow .25s}
.kaart:hover{border-color:var(--line);transform:translateY(-2px);box-shadow:0 20px 36px -28px rgba(21,29,51,.5)}
.kaart .ic{width:42px;height:42px;border-radius:10px;background:var(--paper);display:grid;place-items:center}
.kaart .ic svg{width:22px;height:22px}
.kaart b{font-size:18.5px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.kaart small{color:var(--ink-3);font-size:14.5px;line-height:1.45}
.kaart .meer{margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:500;color:var(--steel-d)}

/* diensten */
.diensten-lay{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;align-items:start}
.inhoud{position:sticky;top:100px}
.zoek{position:relative;margin-bottom:22px}
.zoek input{width:100%;padding:12px 14px 12px 40px;border-radius:10px;border:1px solid var(--line);background:var(--white);font-size:15px}
.zoek svg{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--ink-3)}
.inhoud ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.inhoud a{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:8px;text-decoration:none;font-size:14.5px;color:var(--ink-2)}
.inhoud a:hover,.inhoud a.aan{background:var(--white);color:var(--ink)}
.inhoud a span{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.cat{padding-bottom:56px;scroll-margin-top:100px}
.cat h2{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.03em;margin-bottom:20px;display:flex;align-items:baseline;gap:14px}
.cat h2 .mono{color:var(--steel-d);font-weight:400;font-size:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.leeg{padding:40px;border-radius:var(--r);border:1px dashed var(--line);color:var(--ink-2)}
.calc-blok{margin:0 0 64px;padding:clamp(24px,3vw,40px);border-radius:20px;background:var(--white);border:1px solid var(--line-2)}
.calc-blok .reken{grid-template-columns:minmax(0,1fr)}
.calc-blok .schuif{position:static}
.calc-blok h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;margin-bottom:8px}

/* dienst-detail */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,80px);align-items:start;padding-bottom:clamp(64px,8vw,120px)}
.detail-kop{display:flex;gap:22px;align-items:flex-start}
.detail-kop .ic{width:64px;height:64px;flex:none;border-radius:16px;background:var(--mist);display:grid;place-items:center}
.detail-kop .ic svg{width:32px;height:32px}
.blok{padding:34px 0;border-top:1px solid var(--line)}
.blok h2{font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;margin-bottom:16px}
.blok p{color:var(--ink-2);font-size:17px}
.lijst{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lijst li{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:16.5px;line-height:1.5;color:var(--ink-2)}
.lijst li::before{content:"";width:18px;height:18px;border-radius:50%;margin-top:3px;background:center/12px no-repeat}
.lijst.in li::before{background-color:rgba(31,199,100,.14);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23138A45' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.lijst.uit li::before{background-color:rgba(21,29,51,.07);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' stroke='%2366708A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.lijst.nodig li::before{background-color:rgba(109,146,172,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 3v6M3 6h6' stroke='%234B6F8A' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.zij{position:sticky;top:100px;padding:26px;border-radius:var(--r);background:var(--white);border:1px solid var(--line-2)}
.zij h3{font-size:14px;font-family:var(--mono);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--steel-d);margin-bottom:12px}
.zij dl{margin:0 0 22px}
.zij dt{font-weight:600;font-size:15px;margin-top:14px}
.zij dd{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.zij .knop{width:100%;justify-content:center}
.zij .of{font-size:14px;color:var(--ink-3);text-align:center;margin:12px 0 0}
.buren-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}
.buren-nav a{padding:18px 20px;border-radius:12px;border:1px solid var(--line);text-decoration:none;font-size:15px}
.buren-nav a:hover{border-color:var(--ink)}
.buren-nav small{display:block;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-bottom:4px}
.buren-nav a+a{text-align:right}

/* prose / faq */
.prose{max-width:760px}
.prose h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;margin:56px 0 16px}
.prose h3{font-size:20px;margin:32px 0 10px}
.prose p,.prose li{color:var(--ink-2);font-size:17px}
.prose ul{padding-left:20px}
.prose li{margin-bottom:6px}
.prose a{color:var(--steel-d)}
.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:20px;align-items:baseline;padding:26px 0;font-size:clamp(19px,1.8vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:28px;line-height:1;color:var(--steel-d);transition:transform .25s;justify-self:end}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 28px;color:var(--ink-2);font-size:17px;max-width:70ch}
.twee{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.kaartje-map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);background:var(--mist);aspect-ratio:4/3}
.kaartje-map iframe{width:100%;height:100%;border:0;filter:grayscale(.6) contrast(1.05)}


/* ---------- v2-bijstelling op de overgenomen blokken ---------- */
.paginakop{background:radial-gradient(1100px 420px at 85% -20%,rgba(76,125,255,.16),rgba(76,125,255,0))}
.paginakop h1{font-weight:500;letter-spacing:-.055em}
.product .foto{background:var(--night)}
.product h1{font-weight:500}
input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--ion) var(--p,5%),rgba(10,16,34,.14) var(--p,5%))}
input[type=range]::-moz-range-progress{background:var(--ion)}
.schuif .aantal,.pakket .prijs,.totaal .bedrag{font-weight:500}
.pakket[aria-pressed=true]{border-color:var(--ion);box-shadow:0 0 0 1px var(--ion),0 22px 40px -28px rgba(47,91,230,.7)}
.pakket[aria-pressed=true] .kies{border-color:var(--ion);background:var(--ion)}
.pakket[aria-pressed=true] .kies::after{background:#fff}
.staffel li.aan{background:var(--ion);border-color:var(--ion);color:#DCE5FF}
.totaal{background:var(--night);background:radial-gradient(600px 200px at 100% 0%,rgba(76,125,255,.28),rgba(76,125,255,0)),var(--night)}
.module input{accent-color:var(--ion)}
.kaart:hover{border-color:rgba(76,125,255,.45);box-shadow:0 20px 36px -28px rgba(47,91,230,.6)}
.kaart .ic,.software .ic,.detail-kop .ic{background:var(--paper-2);color:var(--ion-d)}
.software b,.kaart b{font-weight:500}
.lijst.nodig li::before{background-color:rgba(76,125,255,.14)}
.faq summary{font-weight:500}
.faq summary::after{color:var(--ion)}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.zichtbaar{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav>a,.nav .sub>button{padding:9px 10px}
  .bento{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tegel.breed{grid-column:span 2}
}
@media (max-width:1024px){
  .statusbalk .rechts{display:none}
  .nav,.kop .bel{display:none}
  .menuknop{display:flex}
  .menu-open .kop{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--night)}
  .menu-open{overflow:hidden}
  .menu-open .nav{display:flex;position:fixed;inset:var(--navtop,106px) 0 0;flex-direction:column;gap:0;padding:12px var(--gut) 110px;background:var(--night);overflow-y:auto;margin:0}
  .menu-open .nav>a,.menu-open .nav .sub>button{font-size:22px;padding:14px 0;border-radius:0;border-bottom:1px solid var(--wline);width:100%;justify-content:space-between;color:#fff}
  .menu-open .nav>a:hover{background:none}
  .menu-open .sub-paneel{position:static;opacity:1;visibility:visible;transform:none;padding:6px 0 14px}
  .menu-open .sub-paneel ul{width:auto;box-shadow:none;border:0;background:transparent;padding:0}
  .menu-open .sub>button svg{display:none}
  .menu-open .kop .bel{display:flex;position:fixed;left:var(--gut);right:var(--gut);bottom:20px;justify-content:center;padding:16px;z-index:60}
  .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;min-height:0}
  .hero h1{font-size:clamp(52px,8.4vw,96px)}
  .ai-grid,.team-grid,.reken,.check,.twee,.buren .wrap{grid-template-columns:minmax(0,1fr)}
  .schuif{position:static}
  .sectie-kop{grid-template-columns:1fr;align-items:start}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .diensten-lay{grid-template-columns:minmax(0,1fr);gap:24px}
  .inhoud{position:static}
  .inhoud ul{display:flex;flex-wrap:wrap;gap:6px}
  .inhoud a{background:var(--white);border:1px solid var(--line-2)}
  .grid3,.verwant{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail{grid-template-columns:minmax(0,1fr)}
  .zij{position:static}
  .product{grid-template-columns:minmax(0,1fr);min-height:0}
  .product .foto{aspect-ratio:4/3}
  .product .tekst{max-width:none;padding:40px var(--gut) 56px}
  .voet-top{grid-template-columns:1fr 1fr}
  .voet-top>div:first-child{grid-column:1/-1}
  .lijn{grid-template-columns:1fr 1fr}
  .lijn .meter{grid-column:1/-1}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:44px;padding-top:72px}
  .hero h1{font-size:clamp(46px,12.5vw,104px);max-width:none}
  .hero .lede{max-width:46ch}
  .feed{justify-self:stretch;max-width:none}
  .feed ol{height:214px}
  .hero-beeld::after{background:linear-gradient(90deg,rgba(7,11,24,.88) 0%,rgba(7,11,24,.66) 60%,rgba(7,11,24,.4) 100%),linear-gradient(0deg,var(--night) 0%,rgba(7,11,24,0) 35%)}
}
@media (max-width:760px){
  body{font-size:16px}
  .product h1{font-size:min(10vw,56px)}
  .detail-kop h1{font-size:min(9.4vw,48px)!important}
  h1{overflow-wrap:break-word}
  .statusbalk .wrap{font-size:11.5px}
  .kop .wrap{height:64px}
  .logo img{height:26px}
  .hero-beeld video,.hero-beeld img{object-position:78% 30%}
  .hero-beeld::after{background:linear-gradient(180deg,rgba(7,11,24,.35) 0%,rgba(7,11,24,.75) 40%,var(--night) 75%)}
  .hero-grid{padding-top:48px}
  .hero h1{font-size:clamp(46px,14vw,72px)}
  .hero .lede{margin:22px 0 28px}
  .hero .knoppen .knop{flex:1 1 auto;justify-content:center}
  .feed ol{height:236px}
  .feed li{font-size:13.5px;padding:9px 16px;grid-template-columns:40px 8px minmax(0,1fr);gap:10px}
  .hero-logos .wrap{height:76px;gap:18px}
  .hero-logos p{display:none}
  .loop img{height:24px}
  .bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .tegel,.tegel.groot,.tegel.breed{grid-column:auto;grid-row:auto;min-height:250px}
  .tegel.groot{min-height:420px}
  .tegel.alle{min-height:200px}
  .j-log{height:330px;padding:16px}
  .j-chips{padding:14px 16px 16px}
  .drie>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .lijn{grid-template-columns:minmax(0,1fr);gap:12px}
  .nu-dienst .knoppen{margin-left:0}
  .pakketten{grid-template-columns:minmax(0,1fr)}
  .pakket .tag{min-height:0}
  .staffel ol{grid-template-columns:repeat(2,1fr)}
  .module{grid-template-columns:22px 1fr}
  .module .p{grid-column:2;text-align:left;white-space:normal}
  .totaal .knop{margin-left:0;width:100%;justify-content:center}
  .check-form{border-radius:16px;flex-direction:column}
  .check-form .knop{justify-content:center}
  .checks li{grid-template-columns:18px 1fr}
  .checks li small{grid-column:2}
  .software{grid-template-columns:minmax(0,1fr)}
  .kanalen,.grid3,.verwant{grid-template-columns:minmax(0,1fr)}
  .vestigingen{grid-template-columns:minmax(0,1fr)}
  .voet-top{grid-template-columns:minmax(0,1fr)}
  .voet-onder .tdg{margin-left:0}
  .buren-nav{grid-template-columns:minmax(0,1fr)}
  .buren-nav a+a{text-align:left}
  .detail-kop{flex-direction:column;gap:16px}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logos li{height:96px;padding:18px}
}
@media (max-width:420px){.statusbalk .plaats{display:none}}
@media (max-width:380px){
  .hero h1{font-size:44px}
  .schuif .aantal{font-size:58px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
.blok .check{grid-template-columns:minmax(0,1fr);gap:20px}
