:root{--accent:#2f80ed;--dark:#1f2d3d;--muted:#6b7a8c;--line:#e3e8ee}
*{box-sizing:border-box;margin:0}
body{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--dark);background:#fff}
.top{padding:14px 22px;font-weight:700;color:#e8734a}
.top .logo{margin-right:6px}
.hero{position:relative;background:linear-gradient(rgba(23,32,42,.55),rgba(23,32,42,.55)),url('hero.jpg') center/cover,linear-gradient(135deg,#3d4f63 0%,#22303f 100%);color:#fff;padding:84px 18px 96px;text-align:center}
.hero h1{font-size:clamp(1.7rem,4.5vw,2.7rem);text-shadow:0 2px 10px rgba(0,0,0,.35)}
.hero .sub{margin:12px 0 26px;font-size:1.1rem;opacity:.95}
.intake{background:#fff;color:var(--dark);border-radius:14px;max-width:430px;margin:0 auto;padding:24px 22px;box-shadow:0 14px 44px rgba(0,0,0,.28)}
.intake-label{font-weight:600;margin-bottom:14px}
.pc-boxes{display:flex;gap:10px;justify-content:center}
.pc-boxes input{width:44px;height:52px;text-align:center;font-size:1.5rem;border:none;border-bottom:3px solid #35b36b;outline:none;text-transform:uppercase}
.intake-error{display:none;color:#c0392b;font-size:.9rem;margin-top:10px}
.btn-primary{width:100%;margin-top:18px;padding:14px;font-size:1.05rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:9px;cursor:pointer}
.btn-primary:hover{filter:brightness(1.06)}
.btn-primary:disabled{opacity:.5;cursor:default}
.trust{margin-top:18px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.usps{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;padding:26px 16px;color:var(--muted);font-weight:600}
.foot{padding:26px;text-align:center;color:var(--muted);font-size:.9rem}
.foot a{color:var(--muted)}
/* Overlay-funnel */
.overlay{position:fixed;inset:0;background:#f2f4f7;z-index:60;overflow-y:auto}
.panel{max-width:640px;margin:0 auto;padding:22px 16px 120px;min-height:100%}
.bar{position:relative;height:8px;background:#e2e7ee;border-radius:5px;margin:6px 40px 30px 0}
.bar-fill{height:100%;width:8%;background:var(--accent);border-radius:5px;transition:width .25s}
.close{position:absolute;right:-40px;top:-14px;border:none;background:none;font-size:1.9rem;color:#98a4b3;cursor:pointer}
.q-title{text-align:center;font-size:1.5rem;margin-bottom:22px}
.opt-list{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.opt{display:flex;align-items:center;gap:14px;padding:18px 16px;border-bottom:1px solid var(--line);cursor:pointer;font-size:1.05rem}
.opt:last-child{border-bottom:none}
.opt input{width:22px;height:22px;accent-color:var(--accent)}
.opt.sel{background:#f4f9ff}
.fields{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 16px}
.frow{padding:12px 0;border-bottom:1px solid var(--line)}
.frow:last-child{border-bottom:none}
.frow label{display:block;font-size:.95rem;color:var(--muted);margin-bottom:6px}
.frow input,.frow textarea{width:100%;padding:11px 12px;font-size:1rem;border:1px solid var(--line);border-radius:8px;outline-color:var(--accent)}
.frow input.ok{border-color:#35b36b}
.frow .duo{display:flex;gap:12px}
.q-error{margin-top:14px;background:#fdecea;color:#c0392b;padding:12px 14px;border-radius:8px}
.nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:14px 16px;display:flex;gap:14px;justify-content:space-between}
.nav .btn-primary{width:auto;flex:1;max-width:340px;margin:0 0 0 auto}
.btn-ghost{border:1px solid var(--line);background:#fff;border-radius:9px;padding:0 22px;cursor:pointer;color:var(--muted)}
@media(min-width:700px){.panel{padding-top:40px}}

/* Hoe-het-werkt */
.how{display:flex;gap:34px;justify-content:center;flex-wrap:wrap;padding:48px 18px;max-width:1050px;margin:0 auto}
.how-item{flex:1 1 260px;max-width:320px;text-align:center}
.how-ico{width:52px;height:52px;line-height:52px;margin:0 auto 14px;border-radius:50%;background:#e8734a;color:#fff;font-size:1.3rem}
.how-item h3{margin-bottom:8px;font-size:1.05rem}
.how-item p{color:var(--muted);font-size:.95rem;line-height:1.5}
/* Zijpaneel op desktop */
@media(min-width:900px){
  .overlay{background:rgba(15,22,30,.62)}
  .panel{margin:0 auto;max-width:640px;background:#f2f4f7;min-height:100vh;box-shadow:0 0 48px rgba(0,0,0,.35);padding:26px 34px 130px}
  .nav{left:50%;transform:translateX(-50%);width:640px;max-width:100%}
}
