*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.6;color:var(--text);background:var(--bg)}
:root{--bg:#0b1020;--surface:#121728;--text:#eef2f8;--muted:#9aa4b2;--primary:#E69230;--primary-600:#c97512;--accent:#111827;--ring:rgba(230,146,48,.35);--border:#223052}
:root.light{--bg:#ffffff;--surface:#f8fafc;--text:#0f172a;--muted:#475569;--primary:#E69230;--primary-600:#c97512;--accent:#111827;--ring:rgba(230,146,48,.25);--border:#e2e8f0}
.container{max-width:1100px;margin-inline:auto;padding:0 1.2rem}
.container.narrow{max-width:800px}
.section{padding:5rem 0}
.section.alt{background:var(--surface)}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(120%) blur(10px);border-bottom:1px solid color-mix(in srgb,var(--border) 60%, transparent)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:.2px;text-decoration:none;color:var(--text)}
.site-nav{display:none}
.site-nav.open{display:block}
.site-nav ul{list-style:none;display:flex;gap:1rem;padding:0;margin:0;align-items:center}
.site-nav a{text-decoration:none;color:var(--text);opacity:.95;padding:.4rem .6rem;border-radius:.5rem}
.nav-toggle{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:0;cursor:pointer}
.nav-toggle .bar{width:22px;height:2px;background:var(--text);display:block}
.hero{padding:6rem 0 4rem}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem}
.hero h1{font-size:clamp(2rem,4vw + 1rem,3rem)}
.hero p{color:var(--muted)}
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 1rem;padding:0;margin:1rem 0 0;list-style:none;font-size:.95rem;color:var(--muted)}
.hero-logo{width:100%;max-width:420px;border-radius:1rem;box-shadow:0 12px 30px rgba(0,0,0,.25);background:#fff}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.card{background:var(--surface);border:1px solid var(--border);padding:1.2rem;border-radius:.9rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.step{background:var(--surface);border:1px solid var(--border);padding:1rem;border-radius:.8rem}
.contact-form{display:grid;gap:1rem}
.field{display:grid;gap:.4rem}
.field.check{grid-template-columns:auto 1fr;align-items:start;gap:.6rem}
input,textarea{width:100%;padding:.7rem .8rem;border-radius:.6rem;border:1px solid var(--border);background:var(--bg);color:var(--text)}
input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.error{color:#ef4444;min-height:1.2em}
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:.6rem;padding:.7rem 1rem;border:1px solid var(--border)}
.btn.primary{background:linear-gradient(90deg,var(--primary),#ffcc80);color:#1f2937;border:0}
.btn.ghost{background:transparent;color:var(--text)}
.site-footer{border-top:1px solid var(--border);padding:2rem 0;color:var(--muted)}
.site-footer .container{display:flex;align-items:center;justify-content:space-between}
.to-top{text-decoration:none;color:var(--text);border:1px solid var(--border);padding:.4rem .6rem;border-radius:.5rem}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:var(--surface);color:var(--text);padding:.5rem .8rem;border-radius:.5rem;border:1px solid var(--border)}
@media (max-width:900px){.hero .grid{grid-template-columns:1fr}.cards,.steps{grid-template-columns:1fr}.site-nav{position:absolute;top:64px;inset-inline:0;background:var(--surface);border-bottom:1px solid var(--border);padding:.8rem 1.2rem}}

/* --- Projectfoto's gelijkmatig en netjes --- */
.cards .card {
  padding: 0;
  overflow: hidden;
}

.cards .card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  border-radius: .5rem;
}

/* Responsive grid for cards on smaller screens */
@media (max-width: 900px) {
  .cards {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}
