
    * { margin:0; padding:0; box-sizing:border-box; }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Playfair Display', serif;
      background:#cfc4b2;
      color:#2b2620;
      line-height:1.6;
      font-size: 14px;
    }

    img {
  max-width:100%;
  height:auto;
  display:block;
}

p, li {
  font-size:0.95rem;
}
    a { color:#cfc4b2; text-decoration:underline; }

    h1,h2,h3 { font-weight:400; }
    .script { font-family:'Pinyon Script', cursive; }

    section { width:100%; }

    /* FADE IN */
    .fade {
      opacity:0;
      transform:translateY(30px);
      transition: all 1s ease;
    }

    .fade.show {
      opacity:1;
      transform:translateY(0);
    }

    /* HERO */
    .hero {
      height:90vh;
      background:url('img/hoofdfoto.jpg') center/cover no-repeat;
      position:relative;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      padding:40px;
      color:#fff;
    }

    .hero::before {
      content:"";
      position:absolute;
      inset:0;
      background:rgba(40,35,25,0.6);
    }

    .hero-content { position:relative; z-index:2; }

    .nav {
      display:flex;
      justify-content:space-between;
      font-size:14px;
      letter-spacing:1px;
    }

    .nav-links a { margin-left:20px; opacity:0.8; transition:0.3s; }
    .nav-links a:hover { opacity:1; }

    .center-hero { text-align:center; margin-top:120px; }
    .center-hero h1 { font-size:48px; }

    .hero-footer {
      display:flex;
      justify-content:space-between;
      font-size:12px;
      letter-spacing:2px;
    }

    /* STORY */
    .story { padding:80px 20px; text-align:center; }

    .story-grid {
      display:grid;
      grid-template-columns:1fr 200px 1fr;
      gap:40px;
      align-items:center;
      max-width:900px;
      margin:auto;
    }

 .story img {
  width:100%;
  max-width:320px;
}

.story p { margin:1px auto 0; }



@media (max-width:768px) {

  .story div[style*="display:flex"] {
    flex-direction:column;
    text-align:center;
  }

  .story div[style*="max-width:500px"] {
    text-align:center !important;
  }

  .story p {
    font-size:15px;
  }
}

    /* GALLERY */
    .gallery {
      padding:80px 20px;
      background:rgb(151, 130, 87);
      display:flex;
      justify-content:center;
      gap:30px;
    }

    .gallery img {
      width:180px;
      height:240px;
      object-fit:cover;
    }

 @media (max-width:768px) {

  .gallery {
    display:flex;
    overflow-x:auto;
    gap:15px;
    padding:20px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .gallery img {
    flex:0 0 80%;
    height:220px;
    object-fit:cover;
    scroll-snap-align:center;
    border-radius:10px;
  }

  /* optioneel: scrollbar verbergen */
  .gallery::-webkit-scrollbar {
    display:none;
  }
}

    /* PROGRAM */
    .program {
      padding:80px 20px;
      display:grid;
      gap:40px;
      max-width:1000px;
      margin:auto;
      grid-template-columns:1fr 1fr;
    }
.program-block:nth-child(1) {
  grid-column:1;
  grid-row:1 / span 2;
}

.program-block:nth-child(2) {
  grid-column:2;
  grid-row:1;
}

.program-block:nth-child(3) {
  grid-column:2;
  grid-row:2;
}
    .program p {font-size:14px;}

    .program h2 { margin-bottom:10px; }

    .program ul { list-style:none; }
    .program li { margin-bottom:12px; font-size:14px; }

    @media (max-width:768px) {

  .program {
    gap:10px;
    grid-template-columns:1fr;
    text-align: center;
  }
    .program-block {
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .program h2 {
    font-size:22px;
    
  }

  .program li,
  .program p {font-size:15px;}
  .program-block {margin-bottom:20px;}
  

}

    /* FAQ */
    .faq {
      padding:80px 20px;
      border-top:1px solid rgba(0,0,0,0.2);
      background: rgb(179, 166, 142);
      justify-content:center;
      gap:40px;
      align-items:center;
    }

    .faq img { width:300px; }
    .faq ul { list-style:none; }
    .faq h2 {margin-bottom: 20px; text-align: center; font-size:36px }
    .faq a:hover {color:#fff;}
    .faq li,
.faq p {
  font-size:14px;
  line-height:1.6;
}

    @media (max-width:768px) {

  .faq div[style*="display:flex"] {
    flex-direction:column;
    text-align:center;
  }

  .faq img {
    width:80%;
  }

  .faq ul {
    text-align:left;
  }
}

    /* CONTACT */
    .contact {
      background:#2b2620;
      color:#fff;
      text-align:center;
      padding:80px 20px;
    }

    .contact h2 { font-size:36px; margin-bottom:30px; }
    .contact img { width:300px; margin: 0 auto 20px; }
    .contact p { font-size:13px; letter-spacing:1px; }

 @media (max-width:768px) {

  .hero {
    height:100vh;
    padding:20px;
  }

  .center-hero {
    margin-top:60px;
  }

  .center-hero h1 {
    font-size:32px;
  }

  .hero-footer {
    flex-direction:column;
    gap:10px;
    text-align:center;
    font-size:11px;
  }
}

@media (max-width:768px) {

  .nav {
    flex-direction:column;
    align-items:center;
    gap:10px;
  }

  .nav-links {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
  }

  .nav-links a {
    margin:5px 10px;
    font-size:13px;
  }
}
