/* ====== Integratie as a Service — basisstijl ====== */
:root{
  --bg: #0b1020;
  --bg-soft:#121a35;
  --card:#0f1730;
  --text:#e6e9f5;
  --muted:#a9b0c7;
  --primary:#6aa6ff;
  --primary-2:#7ee7ff;
  --accent:#a6ffcb;
  --danger:#ff6b6b;
  --shadow: 0 10px 30px rgba(5,10,30,.25);
  --radius: 18px;
  --container: 1100px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 120% -10%, rgba(122,175,255,.15), transparent 50%),
    radial-gradient(1200px 600px at -20% 110%, rgba(116,255,196,.08), transparent 60%),
    var(--bg);
}

a{color:var(--primary); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2; margin:0 0 .5rem}
h1{font-size:clamp(2rem, 2.2rem + 1.5vw, 3.25rem)}
h2{font-size:clamp(1.4rem, 1.2rem + 1vw, 2rem)}
h3{font-size:clamp(1.1rem, 1rem + .7vw, 1.4rem)}
.lead{font-size:1.125rem; color:var(--muted)}
.container{width:min(100% - 2rem, var(--container)); margin-inline:auto}
.section{padding:4rem 0}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0))}
.section-head{margin-bottom:1.5rem}
.grid-3{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-2{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

.btn{
  display:inline-block; border:1px solid transparent; background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#061126; font-weight:700; padding:.9rem 1.1rem; border-radius:999px; box-shadow:var(--shadow);
}
.btn:hover{text-decoration:none; transform:translateY(-1px)}
.btn--ghost{background:transparent; border-color:rgba(255,255,255,.18); color:var(--text)}
.btn--small{padding:.55rem .9rem; font-weight:600}
.btn--wide{padding:.95rem 1.35rem}

.skip-link{position:absolute; left:-9999px; top:auto}
.skip-link:focus{left:1rem; top:1rem; background:#fff; color:#000; padding:.5rem 1rem; border-radius:.5rem; z-index:999}

/* Header & nav */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(1.2) blur(8px); background:rgba(6,12,28,.65); border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:.8rem 0}
.brand{display:flex; align-items:center; gap:.6rem; font-weight:800; color:var(--text)}
.brand:hover{text-decoration:none}
.brand-mark{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg,var(--accent),var(--primary)); color:#07101e; font-weight:900}
.brand-name{letter-spacing:.2px}

.nav-toggle{display:none; background:none; border:1px solid rgba(255,255,255,.25); color:var(--text); padding:.5rem .8rem; border-radius:.6rem}
.site-nav ul{display:flex; gap:.4rem; align-items:center; list-style:none; margin:0; padding:0}
.site-nav a{display:inline-block; padding:.55rem .8rem; border-radius:.6rem; color:var(--text)}
.site-nav a:hover{background:rgba(255,255,255,.06); text-decoration:none}
.site-nav a.active{background:rgba(122,175,255,.18); color:#fff}
.site-nav .btn{box-shadow:none}

@media (max-width: 840px){
  .nav-toggle{display:inline-block}
  .site-nav{position:absolute; inset:60px 0 auto 0; background:rgba(7,12,26,.97); transform:translateY(-10px); opacity:0; pointer-events:none; transition:.2s ease; border-bottom:1px solid rgba(255,255,255,.06)}
  .site-nav.open{transform:translateY(0); opacity:1; pointer-events:auto}
  .site-nav ul{flex-direction:column; align-items:flex-start; padding:1rem}
  .site-nav a{width:100%}
}

/* Fine-tuning home grid when >3 cards */
@media (min-width: 900px){
  .alt .grid-3 { grid-template-columns: repeat(4, 1fr); }
}
.hero .stat-kpi { white-space: nowrap; } /* voorkomt afbreken ⏱️ 2 dagen */

/* Hero */
.hero{position:relative; padding:5rem 0 3rem}
.hero-inner{text-align:center}
.hero .actions{margin:1.25rem 0 0; display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap}
.accent{background:linear-gradient(135deg,var(--accent),#fff); background-clip:text; -webkit-background-clip:text; color:transparent}
.hero-stats{display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:.75rem; margin:2rem auto 0; width:min(100%,720px)}
.stat{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:1rem}
.stat-kpi{font-weight:800; font-size:1.1rem}
.stat-label{display:block; color:var(--muted); font-size:.95rem}
.hero-bg{position:absolute; inset:auto 0 0 0; height:180px; background:radial-gradient(60% 120px at 50% 0, rgba(122,175,255,.18), transparent 70%)}

/* Page hero */
.page-hero{padding:3.5rem 0 1rem; background:linear-gradient(180deg, rgba(122,175,255,.10), transparent)}
.page-hero .lead{margin-top:.3rem}

/* Cards & lists */
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  padding:1.1rem 1.1rem;
  box-shadow:var(--shadow);
}
.list{margin:.2rem 0 0 1rem}
.list li{margin:.25rem 0}

/* Timeline */
.timeline{display:grid; gap:1rem; counter-reset: step}
.timeline li{
  background:rgba(255,255,255,.03);
  border:1px dashed rgba(255,255,255,.12);
  padding:1rem 1rem 1rem 3.2rem; border-radius:var(--radius); position:relative;
}
.timeline li::before{
  counter-increment: step;
  content: counter(step);
  position:absolute; left:1rem; top:1rem;
  width:1.8rem; height:1.8rem; border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#07101e; font-weight:900;
}
.timeline.compact li{padding-left:2.8rem}
.timeline {
  list-style: none;   /* standaard lijstnummers uit */
  padding-left: 0;    /* inspringing weghalen */
}

/* Benefits */
.benefits{display:grid; gap:.6rem; padding-left:1rem}
.benefits li{margin:.1rem 0}

/* CTA */
.cta{padding:3rem 0; background:radial-gradient(60% 200px at 50% 0, rgba(166,255,203,.10), transparent)}
.cta-inner{display:grid; gap:.6rem; justify-items:center; text-align:center}

/* Portfolio */
.filters{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem}
.chip{padding:.45rem .7rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:var(--muted)}
.case .tags{display:flex; gap:.4rem; list-style:none; padding:0; margin:.6rem 0 0}
.case .tags li{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); border-radius:999px; padding:.2rem .5rem; font-size:.85rem}

/* Forms */
.form .form-row{display:grid; gap:.35rem; margin-bottom:.8rem}
input,select,textarea{
  width:100%; padding:.75rem .8rem; border-radius:.6rem; border:1px solid rgba(255,255,255,.16);
  background:#0a1226; color:var(--text); outline:none;
}
input::placeholder, textarea::placeholder{color:#92a1c7}
input:focus, select:focus, textarea:focus{border-color:var(--primary)}
.form-note{color:var(--muted); font-size:.9rem}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.06); padding:1.5rem 0; background:rgba(7,12,26,.6)}
.footer-inner{display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap}
.footer-inner nav a{margin-right:.7rem; color:var(--muted)}
.footer-inner nav a:hover{color:var(--text)}
.copyright{color:var(--muted); font-size:.95rem}

