/* ===== Extracted from contact (1).html ===== */
:root{
    --bg:#0e0f11;
    --ink:#e9edf1;
    --muted:#b7bec9;
    --accent:#ffd84d;
    --ink-soft:rgba(233,237,241,.12);
    --maxw:1100px;
  }
  *{box-sizing:border-box}
  html,body{height:100%}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    line-height:1.45;
  }
  

  .header{
    position:fixed; inset-inline:0; top:0; z-index:30;
    backdrop-filter:saturate(1.2) blur(8px);
    background:linear-gradient(to bottom, rgba(14,15,17,.9), rgba(14,15,17,.6) 60%, transparent);
    border-bottom:1px solid var(--ink-soft);
  }
  .nav{
    max-width:var(--maxw); margin-inline:auto; padding:14px 20px;
    display:flex; align-items:center; gap:22px;
  }
  .brand{
    display:inline-flex; align-items:center; gap:10px; text-decoration:none;
    color:#161616; background:var(--accent);
    padding:8px 12px; border-radius:8px; font-weight:800; letter-spacing:.2px;
    box-shadow:0 8px 24px rgba(255,216,77,.18);
  }
  .spacer{flex:1}
  .menu{display:flex; gap:26px}
  .menu a{
    color:var(--ink); text-decoration:none; font-weight:600; opacity:.9; padding:2px 0;
    border-bottom:2px solid transparent;
  }
  .menu a:hover{opacity:1}
  .menu a[aria-current="page"]{ border-bottom-color:var(--accent); }

  .hero{
    position:relative; padding-top:116px; min-height:40vh; display:grid; place-items:center;
    background:
      radial-gradient(1100px 600px at 70% 0%, rgba(255,216,77,.06), transparent 60%),
      radial-gradient(900px 500px at -10% 100%, rgba(255,216,77,.05), transparent 60%),
      linear-gradient(to bottom, #0e0f11 0%, #0c0d0f 100%);
  }
  .container{max-width:var(--maxw); margin-inline:auto; padding:36px 20px;}

  .title{
    font-size:clamp(28px, 6vw, 48px);
    line-height:1.05; font-weight:800; letter-spacing:-.02em; margin:0 0 10px;
    text-align:left;
  }
  .subtitle{
    text-align:left; color:var(--muted); margin:0 0 30px; max-width:700px;
  }

  .grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start;}
  @media (max-width: 900px){ .menu{display:none} .grid{grid-template-columns:1fr} }

  .card{
    background:rgba(14,15,17,.6);
    border:1px solid var(--ink-soft);
    border-radius:16px; padding:22px;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
  }
  .card h3{margin:0 0 12px}
  .muted{color:var(--muted); margin:0 0 16px}

  form{display:grid; gap:14px}
  label{font-weight:600; font-size:.95rem}
  input, textarea{
    width:100%; padding:12px 14px; border-radius:10px;
    border:1px solid var(--ink-soft); background:#0f1114; color:var(--ink);
  }
  textarea{min-height:140px; resize:vertical}
  .btn{
    border:0; border-radius:10px; padding:12px 16px; font-weight:700; cursor:pointer;
    background:var(--accent); color:#161616; box-shadow:0 10px 26px rgba(255,216,77,.18);
  }

  /* Status / alerts */
  .status{margin-top:8px; font-size:.95rem}
  .status.hidden{display:none}
  .status.success{
    color:#0f1; /* subtiele groen-gloed op donker */
  }
  .status.error{
    color:#f66;
  }

  /* Succesblok (vervangt form na submit) */
  .thanks{
    display:flex; flex-direction:column; gap:10px;
    align-items:flex-start;
    background:rgba(20,40,20,.35);
    border:1px solid rgba(0,255,120,.18);
    border-radius:14px; padding:18px 18px;
  }
  .thanks h4{margin:0}
  .thanks p{margin:0; color:var(--muted)}

  /* Nav dropdown gedrag */
  .nav{ position: relative; }
  .hamburger{
    display:none; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:10px;
    background:transparent; border:1px solid var(--ink-soft);
    color:var(--ink); cursor:pointer;
  }
  .hamburger:focus{ outline:2px solid var(--accent); outline-offset:2px; }

  @media (max-width:900px){
    .menu{
      position:absolute; right:20px; top:60px;
      flex-direction:column; gap:8px; padding:12px;
      width:min(320px,88vw);
      background:#121315; border:1px solid var(--ink-soft);
      border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.45);
      z-index:50; display:none;
    }
    .menu.is-open{ display:flex; }
    .menu a{ padding:10px 12px; border-radius:8px; }
    .menu a:hover,.menu a:focus{ background:rgba(233,237,241,.06); }
    .hamburger{ display:inline-flex; }
  }

/* ===== Extracted from projecten.html ===== */
:root{
      --bg:#0e0f11; --ink:#e9edf1; --muted:#b7bec9; --accent:#ffd84d;
      --ink-soft:rgba(233,237,241,.12); --maxw:1100px;
    }
    *{box-sizing:border-box}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.45}

    /* ===== Header (zelfde als index) ===== */
    .header{position:fixed; inset-inline:0; top:0; z-index:30;
      backdrop-filter:saturate(1.2) blur(8px);
      background:linear-gradient(to bottom, rgba(14,15,17,.9), rgba(14,15,17,.6) 60%, transparent);
      border-bottom:1px solid var(--ink-soft);
    }
    .nav{max-width:var(--maxw); margin-inline:auto; padding:14px 20px; display:flex; align-items:center; gap:22px}
    .brand{display:inline-flex; align-items:center; text-decoration:none; color:#161616; background:var(--accent);
      padding:8px 12px; border-radius:8px; font-weight:800; letter-spacing:.2px; box-shadow:0 8px 24px rgba(255,216,77,.18)}
    .spacer{flex:1}
    .menu{display:flex; gap:26px}
    .menu a{color:var(--ink); text-decoration:none; font-weight:600; opacity:.9}
    .menu a:hover{opacity:1}
    @media (max-width:900px){ .menu{display:none} }

    /* ===== Page intro ===== */
    .page{padding-top:116px}
    .container{max-width:var(--maxw); margin-inline:auto; padding:36px 20px}
    .eyebrow{display:inline-block; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:10px}
    .title{font-size:clamp(28px, 5.4vw, 44px); line-height:1.1; font-weight:800; letter-spacing:-.02em; margin:0 0 12px}
    .subtitle{color:var(--muted); margin:0 0 20px}

    /* ===== Filters ===== */
    .filters{display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 6px}
    .chip{padding:8px 12px; border-radius:999px; border:1px solid var(--ink-soft); background:transparent; color:var(--ink);
      font-weight:600; cursor:pointer}
    .chip[data-active="true"]{background:var(--accent); border-color:transparent; color:#161616}

    /* ===== Grid ===== */
    .grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px}
    @media (max-width:1024px){ .grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
    @media (max-width:640px){ .grid{grid-template-columns:1fr} }

    /* ===== Card ===== */
    .card{position:relative; border:1px solid var(--ink-soft); border-radius:14px; overflow:hidden; background:#121315}
    .cover{aspect-ratio:16/10; background:#0b0c0d; overflow:hidden}
    .cover img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.92) contrast(1.05)}
    /* Alleen voor Weerklank-kaart: beeld kleiner en contain */
.cover.cover--pad { padding:14px; }
.cover.cover--pad img{
  object-fit: contain;   /* geen croppen */
  background:#0b0c0d;    /* subtiele rand/letterbox */
  border-radius:10px;    /* zachte hoeken binnenin */
}

    .card-body{padding:14px}
    .tags{display:flex; gap:6px; flex-wrap:wrap; margin:0 0 8px}
    .tag{font-size:.75rem; color:var(--muted); padding:6px 8px; border:1px solid var(--ink-soft); border-radius:999px}
    .card h3{font-size:1.05rem; margin:2px 0 6px}
    .card p{margin:0; color:#c9d0da}
    .card a.cta{display:inline-flex; gap:8px; align-items:center; margin-top:12px; text-decoration:none; font-weight:600;
      color:#161616; background:var(--accent); padding:10px 12px; border-radius:8px}
    .card:hover{transform:translateY(-2px); transition:transform .2s ease}

    /* ===== Footer mini ===== */
    .foot{color:var(--muted); font-size:.9rem; padding:36px 20px; border-top:1px solid var(--ink-soft); margin-top:26px}

    /* anker voor absolute dropdown */
.nav{ position: relative; }

/* hamburger-knop (verborgen op desktop) */
.hamburger{
  display:none; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:10px;
  background:transparent; border:1px solid var(--ink-soft);
  color:var(--ink); cursor:pointer;
}
.hamburger:focus{ outline:2px solid var(--accent); outline-offset:2px; }

/* mobiel gedrag */
@media (max-width:900px){
  .menu{
    /* blijft default display:none door je bestaande regel */
    position:absolute; right:20px; top:60px;
    flex-direction:column; gap:8px; padding:12px;
    width:min(320px,88vw);
    background:#121315; border:1px solid var(--ink-soft);
    border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.45);
    z-index:50;
  }
  .menu.is-open{ display:flex; }  /* toon dropdown */
  .menu a{ padding:10px 12px; border-radius:8px; }
  .menu a:hover,.menu a:focus{ background:rgba(233,237,241,.06); }

  .hamburger{ display:inline-flex; }
}

/* ===== Extracted from index (1).html ===== */
:root{
      --bg:#0e0f11; --ink:#e9edf1; --muted:#b7bec9; --accent:#ffd84d;
      --ink-soft:rgba(233,237,241,.12); --maxw:1210px;
    }
    *{box-sizing:border-box}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.45}

    /* Header */
    .header{position:fixed; inset-inline:0; top:0; z-index:30; backdrop-filter:saturate(1.2) blur(8px);
      background:linear-gradient(to bottom, rgba(14,15,17,.9), rgba(14,15,17,.6) 60%, transparent); border-bottom:1px solid var(--ink-soft)}
    .nav{max-width:var(--maxw); margin-inline:auto; padding:14px 20px; display:flex; align-items:center; gap:22px}
    .brand{display:inline-flex; align-items:center; text-decoration:none; color:#161616; background:var(--accent);
      padding:8px 12px; border-radius:8px; font-weight:800; letter-spacing:.2px; box-shadow:0 8px 24px rgba(255,216,77,.18)}
    .spacer{flex:1}
    .menu{display:flex; gap:26px}
    .menu a{color:var(--ink); text-decoration:none; font-weight:600; opacity:.9}
    .menu a:hover{opacity:1}
    @media (max-width:900px){ .menu{display:none} }

    /* Sections */
    .section{max-width:var(--maxw); margin-inline:auto; padding:36px 20px}
    .eyebrow{display:inline-block; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:12px}
    h1.title{font-size:clamp(28px,6vw,54px); line-height:1.05; font-weight:800; letter-spacing:-.02em; margin:0 0 14px; text-wrap:balance}
    h2{font-size:clamp(22px,3.2vw,30px); margin:0 0 14px}
    p.lead{font-size:clamp(18px,2.6vw,20px); color:var(--muted); margin:0 0 24px}

    /* Hero */
    .hero{position:relative; padding-top:116px; min-height:76vh; display:grid; place-items:center; overflow:hidden;
      background:
        radial-gradient(1100px 600px at 70% 0%, rgba(255,216,77,.06), transparent 60%),
        radial-gradient(900px 500px at -10% 100%, rgba(255,216,77,.05), transparent 60%),
        linear-gradient(to bottom, #0e0f11 0%, #0c0d0f 100%)}
    .grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center}
    @media (max-width:900px){ .grid{grid-template-columns:1fr; gap:36px} .menu{display:none} .photo{max-width:440px; margin-inline:auto} }
    .subtitle{color:var(--muted); margin:0 0 24px; white-space:nowrap}
    @media (max-width:700px){ .subtitle{white-space:normal} }
    .actions{display:flex; gap:12px; flex-wrap:wrap}
    .btn{border:1px solid var(--ink-soft); color:var(--ink); text-decoration:none; padding:12px 16px; border-radius:10px; font-weight:600}
    .btn--accent{background:var(--accent); border-color:transparent; color:#161616; box-shadow:0 10px 26px rgba(255,216,77,.18)}

    .photo{position:relative; width:100%; aspect-ratio:4/5; border-radius:16px; overflow:hidden; border:1px solid var(--ink-soft); background:#111; box-shadow:0 30px 80px rgba(0,0,0,.45) inset}
    .photo img{width:100%; height:100%; object-fit:cover; transform:scale(1.02)}
    .photo::after{content:""; position:absolute; inset:0; background:linear-gradient(to bottom right, rgba(0,0,0,.15), rgba(0,0,0,.45))}

    /* Projects grid */
    .grid4{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:10px}
    @media (max-width:1200px){ .grid4{grid-template-columns:repeat(3,minmax(0,1fr))} }
    @media (max-width:900px){ .grid4{grid-template-columns:repeat(2,minmax(0,1fr))} }
    @media (max-width:600px){ .grid4{grid-template-columns:1fr} }
    .card{border:1px solid var(--ink-soft); border-radius:14px; background:#121315; overflow:hidden}
    .cover{aspect-ratio:16/10; background:#0b0c0d}
    .cover img{width:100%; height:100%; object-fit:cover; display:block}
    .card-body{padding:14px}
    .tags{display:flex; gap:6px; flex-wrap:wrap; margin:0 0 8px}
    .tag{font-size:.75rem; color:var(--muted); padding:6px 8px; border:1px solid var(--ink-soft); border-radius:999px}
    .card h3{font-size:1.05rem; margin:2px 0 6px}
    .card p{margin:0; color:#c9d0da}
    .cta{display:inline-flex; gap:8px; align-items:center; margin-top:12px; text-decoration:none; font-weight:600; color:#161616; background:var(--accent); padding:10px 12px; border-radius:8px}
    .card a.block-link{display:block; text-decoration:none; color:inherit}
    .card:hover{transform:translateY(-2px); transition:transform .2s ease}

    /* About */
    .about{display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:center}
    .about .pic{border:1px solid var(--ink-soft); border-radius:16px; overflow:hidden; background:#111}
    .about .pic img{width:100%; height:auto; display:block}
    @media (max-width:900px){ .about{grid-template-columns:1fr} }

    /* Services */
    .services{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
    @media (max-width:1024px){ .services{grid-template-columns:repeat(2,minmax(0,1fr))} }
    @media (max-width:640px){ .services{grid-template-columns:1fr} }
    .svc{border:1px solid var(--ink-soft); border-radius:14px; padding:16px; background:#121315}
    .svc h3{margin:0 0 6px; font-size:1.05rem}
    .svc p{margin:0; color:#c9d0da}

    /* Footer */
    .foot{color:var(--muted); font-size:.9rem; padding:36px 20px; border-top:1px solid var(--ink-soft); margin-top:10px}
    /* Typewriter-cursor op de title */
h1.title::after{
  content:"";
  display:inline-block;
  width:.5ch;
  border-right:2px solid currentColor;
  transform: translateY(.1em);
  animation: caretBlink 1s step-end infinite;
}
@keyframes caretBlink{ 50%{ border-color: transparent; } }

/* Voorkom layout-jump wanneer text wisselt (grofweg 2 regels) */
h1.title{ min-height: 2.2em; }

:root {
    --cc-bg: #0f1113;
    --cc-ink: #e9edf1;
    --cc-muted: #b7bec9;
    --cc-accent: #ffd84d;
    --cc-soft: rgba(233,237,241,.12);
  }
  .cc-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,.55);
    display: none; place-items: center; z-index: 9999;
  }
  .cc-overlay[aria-hidden="false"] { display: grid; }

  .cc-modal {
    width: min(720px, 92vw);
    border:1px solid var(--cc-soft); border-radius:16px;
    background: linear-gradient(180deg,#121317, #0f1113);
    color: var(--cc-ink); box-shadow: 0 30px 80px rgba(0,0,0,.45);
    overflow: hidden; display: grid; grid-template-columns: 260px 1fr;
  }
  @media (max-width:700px){ .cc-modal{ grid-template-columns: 1fr; } }

  /* Linkerzijde: animatie */
  .cc-anim {
    position: relative; background: radial-gradient(900px 400px at 20% 10%, rgba(255,216,77,.10), transparent 60%);
    border-right:1px solid var(--cc-soft); overflow: hidden; min-height: 260px;
  }
  @media (max-width:700px){ .cc-anim{ border-right:none; border-bottom:1px solid var(--cc-soft); } }

  .cc-cloud, .cc-balloon { position:absolute; will-change: transform; }
  .cc-cloud {
    opacity:.45; filter: blur(1px);
    background: radial-gradient(closest-side, rgba(255,255,255,.25), rgba(255,255,255,0));
  }
  .cc-cloud--1{ width:180px; height:80px; left:-200px; top:30px; animation: cloud 24s linear infinite; }
  .cc-cloud--2{ width:260px; height:110px; left:-280px; bottom:20px; animation: cloud 32s linear infinite 4s; }
  @keyframes cloud { to { transform: translateX(120vw); } }

  .cc-balloon {
    left: 52%; top: 52%; transform: translate(-50%,-50%);
    width: 120px; height: 180px; display: grid; place-items:center;
    animation: float 4.8s ease-in-out infinite;
  }
  @keyframes float {
    0%,100% { transform: translate(-50%,-52%); }
    50%     { transform: translate(-50%,-48%); }
  }
  /* Reduced motion */
  @media (prefers-reduced-motion: reduce){
    .cc-cloud--1,.cc-cloud--2,.cc-balloon{ animation: none; }
  }

  /* Rechterzijde: content */
  .cc-content { padding:18px; }
  .cc-eyebrow { font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cc-muted); }
  .cc-title { margin:6px 0 8px; font-size:1.35rem; font-weight:800; letter-spacing:.01em; }
  .cc-text { color:#c9d0da; margin:0 0 10px; }
  .cc-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
  .cc-btn {
    appearance: none; border-radius:10px; padding:12px 14px; font-weight:700; cursor:pointer;
    border:1px solid var(--cc-soft); background:#17191d; color:var(--cc-ink);
  }
  .cc-btn--accent { background:var(--cc-accent); color:#161616; border-color:transparent; box-shadow:0 10px 26px rgba(255,216,77,.18); }
  .cc-btn--ghost { background:transparent; }
  .cc-link { color: var(--cc-accent); text-decoration: none; }
  .cc-link:hover { text-decoration: underline; }

  /* Pane "Aanpassen" */
  .cc-custom { margin-top:8px; border-top:1px solid var(--cc-soft); padding-top:12px; display:none; }
  .cc-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px dashed var(--cc-soft); }
  .cc-row:last-child{ border-bottom:0; }
  .cc-row label { font-weight:700; }
  .cc-hint { color: var(--cc-muted); font-size:.92rem; margin-top:2px; }
  .cc-toggle { width:46px; height:28px; border-radius:999px; position:relative; border:1px solid var(--cc-soft); background:#1a1d22; cursor:pointer; }
  .cc-toggle input{ display:none; }
  .cc-toggle span{
    position:absolute; top:2px; left:2px; width:22px; height:22px; border-radius:999px; background:#7a8596; transition: left .18s ease;
  }
  .cc-toggle input:checked + span{ left:22px; background:#161616; }
  .cc-toggle input:checked ~ .cc-toggle-bg{ background: var(--cc-accent); }
  .cc-toggle .cc-toggle-bg{
    position:absolute; inset:0; border-radius:999px; background:#2a2f39; transition: background .18s ease;
    z-index:-1;
  }

  /* Close (X) */
  .cc-close {
    position:absolute; top:8px; right:8px; border:1px solid var(--cc-soft); background:#0f1113; color:var(--cc-ink);
    border-radius:8px; padding:6px 8px; cursor:pointer;
  }
  .cc-close:hover { opacity:.9; }

  /* 🔥 Vlam-animatie en flicker */
  .cc-flame{
    transform-origin: 60px 150px;   /* scharnier rond de mand */
    opacity: 0;                     /* standaard: uit */
    filter: saturate(1.05);
    pointer-events: none;
  }
  @keyframes flameFlicker {
    0%   { transform: translateY(0)    scaleY(1)    scaleX(1);    opacity:.95; }
    35%  { transform: translateY(-1px) scaleY(1.06) scaleX(0.98); opacity:1;   }
    70%  { transform: translateY(0)    scaleY(1.02) scaleX(1.02); opacity:.9;  }
    100% { transform: translateY(0)    scaleY(1)    scaleX(1);    opacity:.95; }
  }
  .cc-flame.is-on{
    animation: flameFlicker .16s ease-in-out infinite;
    opacity: .96;
  }
  @media (prefers-reduced-motion: reduce){
    .cc-flame.is-on{ animation: none; }
  }

  /* Knop standaard verbergen op desktop */
.hamburger{
  display:none; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:10px;
  background:transparent; border:1px solid var(--ink-soft);
  color:var(--ink); cursor:pointer;
}
.hamburger:focus{ outline:2px solid var(--accent); outline-offset:2px; }

/* Mobile menu gedrag */
@media (max-width:900px){
  /* je had al: .menu{display:none} — die laten we staan,
     maar we voegen positie + popup-styling toe: */
  .nav{ position:relative; } /* anker voor absolute menu */
  .menu{
    display:none; /* blijft default uit */
    position:absolute; right:20px; top:60px;
    flex-direction:column; gap:8px; padding:12px;
    width:min(320px,88vw);
    background:#121315; border:1px solid var(--ink-soft);
    border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.45);
    z-index:50;
  }
  .menu.is-open{ display:flex; }
  .menu a{ padding:10px 12px; border-radius:8px; }
  .menu a:hover,.menu a:focus{ background:rgba(233,237,241,.06); }

  /* hamburger zichtbaar op mobiel */
  .hamburger{ display:inline-flex; }
}

/* ===== Extracted from project-detail.html ===== */
:root{ --bg:#0e0f11; --ink:#e9edf1; --muted:#b7bec9; --accent:#ffd84d; --ink-soft:rgba(233,237,241,.12); --maxw:1100px; }
    *{box-sizing:border-box}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55}

    .header{position:fixed; inset-inline:0; top:0; z-index:30; backdrop-filter:saturate(1.2) blur(8px);
      background:linear-gradient(to bottom, rgba(14,15,17,.9), rgba(14,15,17,.6) 60%, transparent); border-bottom:1px solid var(--ink-soft)}
    .nav{max-width:var(--maxw); margin-inline:auto; padding:14px 20px; display:flex; align-items:center; gap:22px}
    .brand{display:inline-flex; align-items:center; text-decoration:none; color:#161616; background:var(--accent);
      padding:8px 12px; border-radius:8px; font-weight:800; letter-spacing:.2px; box-shadow:0 8px 24px rgba(255,216,77,.18)}
    .spacer{flex:1}
    .menu{display:flex; gap:26px}
    .menu a{color:var(--ink); text-decoration:none; font-weight:600; opacity:.9}
    .menu a:hover{opacity:1}
    @media (max-width:900px){ .menu{display:none} }

    .page{padding-top:116px}
    .container{max-width:var(--maxw); margin-inline:auto; padding:36px 20px}
    .breadcrumbs{margin-top:6px; color:var(--muted); font-size:.95rem}
    .breadcrumbs a{color:var(--muted); text-decoration:none}
    .breadcrumbs a:hover{color:var(--ink)}
    .eyebrow{display:inline-block; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:10px}
    .title{font-size:clamp(28px,5.6vw,48px); line-height:1.1; font-weight:800; letter-spacing:-.02em; margin:0 0 10px; text-wrap:balance}
    .sub{color:var(--muted); margin:0 0 14px}
    .meta{display:flex; gap:10px; flex-wrap:wrap; margin:10px 0 0}
    .pill{border:1px solid var(--ink-soft); border-radius:999px; padding:8px 12px; color:var(--muted); font-weight:600; font-size:.9rem}

    .cover{margin-top:16px; border:1px solid var(--ink-soft); border-radius:14px; overflow:hidden; background:#121315}
    .cover img{width:100%; height:auto; display:block}

    .grid{display:grid; grid-template-columns:1.1fr .9fr; gap:36px; margin-top:26px}
    @media (max-width: 900px){ .grid{grid-template-columns:1fr} }
    .card{border:1px solid var(--ink-soft); border-radius:14px; padding:16px; background:#121315}
    .h3{font-size:1.1rem; font-weight:800; letter-spacing:.02em; margin:0 0 10px}
    .muted{color:var(--muted)}

    .stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
    @media (max-width:640px){ .stats{grid-template-columns:1fr 1fr} }
    .stat{border:1px solid var(--ink-soft); border-radius:12px; padding:14px}
    .stat b{font-size:1.25rem; display:block; margin-bottom:4px}

    .gallery{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
    @media (max-width:900px){ .gallery{grid-template-columns:repeat(2,minmax(0,1fr))} }
    @media (max-width:520px){ .gallery{grid-template-columns:1fr} }
    .shot{position:relative; border:1px solid var(--ink-soft); border-radius:12px; overflow:hidden; background:#0b0c0d; cursor:zoom-in}
    .shot img{width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:16/10}

    .tags{display:flex; gap:6px; flex-wrap:wrap}
    .tag{font-size:.8rem; color:var(--muted); padding:6px 8px; border:1px solid var(--ink-soft); border-radius:999px}

    .links{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
    .btn{display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-weight:600; border-radius:10px; padding:12px 14px; border:1px solid var(--ink-soft); color:var(--ink)}
    .btn--accent{background:var(--accent); border-color:transparent; color:#161616; box-shadow:0 10px 26px rgba(255,216,77,.18)}

    .pager{display:flex; justify-content:space-between; gap:10px; margin-top:28px; padding-top:18px; border-top:1px solid var(--ink-soft)}
    .pager a{color:var(--ink); text-decoration:none; opacity:.9}
    .pager a:hover{opacity:1}

    .lightbox{position:fixed; inset:0; display:none; place-items:center; background:rgba(0,0,0,.85); z-index:60}
    .lightbox img{max-width:92vw; max-height:86vh; border-radius:12px}
    .closezone{cursor:zoom-out}

    /* anker voor absolute dropdown */
.nav{ position: relative; }

/* hamburger-knop (verborgen op desktop) */
.hamburger{
  display:none; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:10px;
  background:transparent; border:1px solid var(--ink-soft);
  color:var(--ink); cursor:pointer;
}
.hamburger:focus{ outline:2px solid var(--accent); outline-offset:2px; }

/* mobiel gedrag */
@media (max-width:900px){
  .menu{
    /* blijft default display:none door je bestaande regel */
    position:absolute; right:20px; top:60px;
    flex-direction:column; gap:8px; padding:12px;
    width:min(320px,88vw);
    background:#121315; border:1px solid var(--ink-soft);
    border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.45);
    z-index:50;
  }
  .menu.is-open{ display:flex; }  /* toont dropdown */
  .menu a{ padding:10px 12px; border-radius:8px; }
  .menu a:hover,.menu a:focus{ background:rgba(233,237,241,.06); }

  .hamburger{ display:inline-flex; } /* knop tonen op mobiel */
}




/* === Card layout improvements (uniform height + aligned CTA) === */
.grid4{ gap:20px; } /* iets ruimer ademen */
.grid4 > .card{ height:100%; } /* laat elke kaart de rijhoogte vullen */

.card{
  display:flex;
  flex-direction:column;
  border-radius:18px; /* iets zachter */
  background: #121315;
  border:1px solid var(--ink-soft);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.card .cover{ flex:0 0 auto; }
.card .card-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1 1 auto;
  padding:16px;
}
.card .tags{ margin-bottom:2px; }
.card .cta{
  margin-top:auto;             /* duw knop naar onderkant kaart */
  align-self:flex-start;       /* maar uitlijnen links */
}

/* Typografische consistentie in kaarten */
.card h3{ line-height:1.2; letter-spacing:-.01em; }
.card p{ color:#c9d0da; }



/* === Equal-height rows & precise CTA alignment === */
.grid4{
  align-items: stretch;           /* laat items de volledige rijhoogte nemen */
  grid-auto-rows: 1fr;            /* elke rij krijgt gelijke hoogte */
}

.grid4 > .card{ height:100%; }

/* Card body as CSS grid for strict vertical structure */
.card .card-body{
  display:grid;
  grid-template-rows: auto auto 1fr auto; /* tags | title | description fills | CTA at bottom */
  gap:10px;
}

/* Consistent spacing for cover and elements */
.card .cover{ margin-bottom: 10px; }
.card .tags{ margin:0; }
.card h3{ margin:0; }
.card p{ margin:0; }
.card .cta{ justify-self:start; }  /* linkse uitlijning */
