/* GEIT / Helder. Shared visual direction; existing content and tools retained. */
:root{--bg:#030405;--bg-soft:#0b0c10;--card:#0c0d11;--card-border:#272a31;--txt:#f5f5f7;--txt-soft:#a9adb7;--green:#00bd73;--green-bright:#25db91;--orange:#ff942f;--orange-deep:#eb7b17;--glow-green:transparent;--glow-orange:transparent;--radius:12px;--font:'Helvetica Neue',Arial,sans-serif;--paper:#f5f5f7;--ink:#05140d;--rule:rgba(255,255,255,.12)}
body{font-size:16px;background:var(--bg)}
button,input,select,textarea{font:inherit}[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--green-bright);outline-offset:6px}
.container{max-width:1440px;padding-inline:clamp(24px,4.5vw,80px)}
section{padding-block:clamp(80px,8vw,128px)}section p,section li{font-size:1rem}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.045em}
.bg-gradient,.noise,#netCanvas,.sec-watermark{display:none}
section::before,section::after{display:none!important}
.sec-lijn{background-image:none;border-top:1px solid var(--rule)}
header{background:rgba(3,4,5,.95);border-bottom:1px solid var(--rule)}header::before{display:none}header.scrolled{box-shadow:none}
.nav,header.scrolled .nav{height:86px}
.logo{font-size:1rem;font-weight:500;letter-spacing:-.035em;gap:10px}.logo img{width:40px;height:44px;filter:none}.logo span b{font-weight:700;color:var(--txt)}
nav.menu a{font-size:.875rem!important;font-weight:400;padding:10px 9px!important;border-radius:0}
nav.menu a.cta{background:var(--green-bright);color:var(--ink);box-shadow:none;border-radius:5px;padding:10px 17px!important;margin-left:16px}

.scroll-progress{height:2px;background:var(--green-bright);box-shadow:none}
.btn{font-weight:500;border-radius:5px;padding:15px 23px;min-height:48px;box-shadow:none!important;transition:background .2s,transform .2s}.btn::before{display:none}
.btn-primary{background:var(--green-bright);color:var(--ink)}.btn-green{background:var(--orange);color:var(--ink)}.btn-ghost{border-color:var(--rule);color:var(--txt)}
.btn:hover{transform:translateY(-2px);filter:none}.btn-primary:hover{background:#48ecaa}.btn-green:hover{background:#ffad5f}.btn-ghost:hover{background:rgba(190,217,194,.06)}
.sec-head{max-width:none;text-align:left;margin:0 0 56px;position:relative;padding-left:0}.sec-head::before,.sec-head::after{display:none}
.sec-head h2{font-size:clamp(2.25rem,4.4vw,4.5rem);line-height:1.06;max-width:920px;margin-bottom:24px;background:none;color:var(--txt);-webkit-text-fill-color:currentColor}
.sec-head .sub{font-size:1.1rem;font-weight:400;color:var(--green-bright);margin:0 0 12px;max-width:65ch}.sec-head p{margin:0;max-width:65ch;color:var(--txt-soft);line-height:1.75}
.section-index{display:block;font-family:ui-monospace,Consolas,monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px;color:var(--txt-soft)}
.reveal,.reveal-scale{opacity:1;filter:none!important;transform:none;transition:none}
.card,.price-card,.profiel,.pm-card,.faq-item,.slotblok,.buddy-intro,.lab,.proj-builder,.kader{background:var(--card);border-color:var(--rule);box-shadow:none;backdrop-filter:none}
.card,.price-card{border-radius:var(--radius);padding:32px}
.card:hover,.price-card:hover,.service:hover{background:#111319;border-color:#454955;box-shadow:none;transform:translateY(-3px)}
.card h3{font-size:1.4rem;font-weight:500;letter-spacing:-.03em}.card p{font-size:1rem;line-height:1.75}
.card .icon{background:none;border:0;box-shadow:none;color:var(--green-bright);border-radius:0;font-size:.875rem;font-family:ui-monospace,monospace;place-items:start;width:auto;height:auto;margin:0 0 34px}
.card:hover .icon,.service:hover .icon{box-shadow:none;transform:none}.service::before{display:none}
.service h3{font-size:1.9rem;line-height:1.1;min-height:2.2em}.service ul{border-top:1px solid var(--rule);padding-top:20px;margin-top:24px}
.service ul li{font-size:.9375rem;padding-left:24px}.service ul li::before{background:none;color:var(--green-bright)}
.service .pc-btns{gap:10px}.service .pc-btns .btn-ghost{border:0;padding-left:0;justify-content:flex-start}
.price-card.pro{background:#111318;border-color:#37564a;box-shadow:none}.price-card.pro:hover{box-shadow:none}
.price-card .price,.price-card.pro .price{font-weight:500;background:none;color:var(--green-bright);-webkit-text-fill-color:currentColor;font-size:3.5rem}
.badge-pop{animation:none;background:var(--orange);box-shadow:none;font-weight:500;border-radius:4px}
.sub-head{text-align:left;margin-bottom:28px}.sub-head h3{font-weight:500;font-size:1.8rem;letter-spacing:-.03em}.pricing{max-width:1100px;margin-inline:0}
.kernwaarden{justify-content:flex-start}.kernwaarden span{border-color:var(--rule);background:none;border-radius:3px;font-size:.8125rem;font-weight:400}
.faq-list{max-width:none;gap:0}.faq-item{background:transparent;border:0;border-top:1px solid var(--rule);border-radius:0}.faq-item:last-child{border-bottom:1px solid var(--rule)}.faq-item.open{box-shadow:none}
.faq-q{padding:26px 0;font-size:1.1rem;font-weight:400}.faq-q .arrow{background:transparent;color:var(--green-bright);border:1px solid var(--rule);border-radius:50%;width:34px;height:34px}.faq-a p{padding:0 44px 24px 0;max-width:75ch}
.profiel{text-align:left;padding:40px}.profiel .avatar{margin-left:0}.profiel .avatar img{animation:none;filter:none}.profiel h3{font-size:2rem}.profiel .titel{border:0;background:none;padding:0}
.over-text .quote{font-size:1.5rem;font-weight:400;line-height:1.4;padding-left:24px;border-color:var(--green-bright)}
.pk-browser,.pk-kaart{box-shadow:none}.pk-titel{font-size:2.6rem!important;font-weight:500}.pk-scherm img{filter:none}
.slotblok{background:linear-gradient(130deg,#141820,#090b0f 70%);color:var(--txt);border:1px solid var(--rule);border-radius:12px;text-align:left;box-shadow:none;padding:clamp(30px,5vw,70px)}.slotblok::before,.slotblok::after{display:none}
.slotblok .sec-head h2,.slotblok h2{color:var(--txt);-webkit-text-fill-color:var(--txt);background:none}.slotblok .sub,.slotblok p,.slotblok .slot-noot{color:var(--txt-soft)}
.slotblok .btn{background:var(--orange);color:#1b0b00}.slotblok .btn-ghost{background:transparent;color:var(--txt);border:1px solid var(--rule)}.slotblok .slot-ctas{justify-content:flex-start}
footer{border-top:1px solid var(--rule);background:var(--bg);padding-block:42px}footer a{color:var(--txt-soft)}
.step .marker,.step:nth-child(odd) .marker{background:var(--bg);border:1px solid var(--rule);color:var(--green-bright);box-shadow:none;border-radius:50%;font-weight:400}.timeline.visible .tl-line{background:var(--rule)}.step p{font-size:1rem}
.m-bar,.wsm-bar,.pk-balk{background:#17191f}.wsm-glow,.wsm-accent{display:none}.wsm-browser,.wsm-phone{box-shadow:none;border-color:#363c48}.notice,.disclaimer{box-shadow:none}.sticky-cta a{box-shadow:none;background:var(--green-bright);color:var(--ink)}
/* Quiet black surfaces extend the opening into the service pages. */
#home{background:transparent;color:var(--txt)}
#home .sec-head{display:grid;grid-template-columns:1.15fr 1fr;column-gap:10%;align-items:start}#home .section-index{grid-column:1/-1;color:#929bad}
#home .sec-head h2{grid-row:2/5;font-size:clamp(2.5rem,4.6vw,4.6rem);max-width:620px}#home .sec-head .sub{font-size:1.3rem;color:var(--txt)}#home .sec-head p{color:var(--txt-soft)}
.welkom-ctas{justify-content:flex-start;margin-top:26px}#home .btn-primary{background:var(--green-bright);color:var(--ink)}#home .btn-ghost{border-color:var(--rule)}
#home .grid{gap:32px;margin-top:72px}#home .card{padding:24px 0 0;border:0;border-top:1px solid var(--rule);border-radius:0;background:transparent;color:var(--txt);box-shadow:none;transform:none}
#home .card .icon{color:var(--green-bright);margin-bottom:24px}#home .card h3{font-size:1.15rem}#home .card p{font-size:.9375rem;color:var(--txt-soft)}
#diensten .grid{gap:18px}
#diensten .service:first-child{background:rgba(15,17,22,.84);color:var(--txt)}
#diensten .service:first-child .btn-primary{background:var(--green-bright);color:var(--ink)}#diensten .service:first-child .btn-ghost{color:var(--txt)}#diensten .service:first-child .icon{color:var(--green-bright)}
#diensten .service:nth-child(2){background:rgba(15,17,22,.84)}#diensten .service:nth-child(3){background:rgba(15,17,22,.84)}
@media(max-width:1250px){.hamburger{display:flex}nav.menu{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(370px,88vw);flex-direction:column;align-items:stretch;gap:6px;background:#0a0b0f;padding:96px 26px calc(30px + env(safe-area-inset-bottom,0px));transform:translateX(110%);overflow-y:auto;visibility:hidden;transition:transform .3s,visibility .3s;border-left:1px solid var(--rule)}nav.menu.open{transform:translateX(0);visibility:visible}nav.menu a{font-size:1rem!important;padding:12px 16px!important}nav.menu a.cta{margin:12px 0 0;text-align:center}}
@media(max-width:800px){.nav,header.scrolled .nav{height:72px}.sec-head{margin-bottom:36px}#home .sec-head{display:block}#home .sec-head h2{margin-bottom:28px}#home .grid{margin-top:44px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.card,.price-card{padding:28px}.service h3{min-height:0}.grid-3,.grid-2{grid-template-columns:1fr}.section-index{margin-bottom:22px}.slotblok .btn{width:auto}.faq-q{font-size:1rem}}
@media(max-width:450px){#home .grid{grid-template-columns:1fr}.btn{width:100%}.welkom-ctas{flex-direction:column}.logo{font-size:.94rem}.logo img{width:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Space extends through every route; colour belongs to the brand accents. */
body{isolation:isolate}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-3;background:linear-gradient(rgba(3,4,5,.91),rgba(3,4,5,.95)),url('cosmic-void.webp') 70% center/cover no-repeat}
header{background:rgba(3,4,5,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:rgba(255,255,255,.08)}
/* The menu is fixed to the viewport, so blur belongs to a pseudo-element. */
header{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent}
header::before{display:block;opacity:1;background:rgba(3,4,5,.8);border:0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.vh-film header::before{opacity:1}
nav.menu a.cta{background:#ff942f;color:#170b02}
nav.menu a.cta:hover{background:#ffac59;color:#170b02}
.btn-primary{background:linear-gradient(135deg,#25db91,#06bc77)}
.btn-green{background:linear-gradient(135deg,#ffa143,#ff861c);color:#1b0c00}
.btn-primary:hover{box-shadow:0 0 24px rgba(37,219,145,.2)!important}
.btn-green:hover{box-shadow:0 0 24px rgba(255,148,47,.22)!important}
.sec-head .sub{color:#c4cad5}.section-index{color:#8e9aac}
.price-card .price,.price-card.pro .price{color:#f5f6fa}
.price-card.pro{border-color:rgba(37,219,145,.38);background:linear-gradient(150deg,#11171a,#0b0d11 65%)}
.card,.price-card,.profiel,.pm-card,.lab,.proj-builder,.kader{background-color:rgba(12,14,19,.9);border-color:rgba(255,255,255,.13)}
.card:hover,.price-card:hover,.service:hover{border-color:rgba(37,219,145,.45);background-color:#11141b}
#diensten .service:nth-child(2):hover{border-color:rgba(255,148,47,.5)}
.contact-gate,.form-card{background:rgba(12,14,19,.94);border:1px solid var(--rule);box-shadow:none;border-radius:12px}
.field input,.field select,.field textarea{background:#101218;border-color:#303642;border-radius:6px;font-size:1rem}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-bright);box-shadow:0 0 0 3px rgba(37,219,145,.1)}
.slotblok .sec-head h2,.slotblok h2{color:var(--txt);-webkit-text-fill-color:var(--txt)}
.slotblok .slot-eyebrow{color:var(--orange)}
.pk-placeholder{background:#10131b}
@media(max-width:1250px){nav.menu{background:#090b10}}
