/* V29 concept — hoofdstukken op de homepage. Inhoud en media blijven behouden. */
.v29-home, .v29-inner {
  --v29-sand: #e8e2d5;
  --v29-contact: #34382d;
}

.v29-home .v29-intro-band,
.v29-home .v29-about-band {
  background: var(--v29-sand);
}

.v29-home .home-intro {
  padding-block: 88px;
}

.v29-home .film-section {
  padding-top: 88px;
}

.v29-home .home-about {
  padding-block: 88px;
}

.v29-home .home-about .portrait-slot {
  padding: 0;
  border: 0;
}

.v29-home .home-preparation {
  padding-top: 88px;
}

.v29-home .home-costs {
  border-top: 0;
}

:is(.v29-home, .v29-inner) .home-contact {
  background: var(--v29-contact);
  color: var(--paper);
  border-top: 0;
}

:is(.v29-home, .v29-inner) .home-contact p:not(.eyebrow) {
  color: var(--paper);
}

:is(.v29-home, .v29-inner) .home-contact .button {
  background: var(--paper);
  color: var(--ink);
}

:is(.v29-home, .v29-inner) .home-contact .button:hover {
  background: var(--v29-sand);
}

.film-swipe-hint,
.film-strip-controls { display: none; }

@media (max-width: 900px) {
  .v29-home .film-section .section-heading { margin-bottom: 28px; }
  .v29-home .film-swipe-hint {
    display: flex;
    justify-content: space-between;
    margin: 0 0 16px;
    font-size: 14px;
    color: var(--muted);
  }
  .v29-home .home-films {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    align-items: flex-start;
    padding: 4px 4px 16px;
    margin-inline: -4px;
  }
  .v29-home .home-films .home-film {
    flex: 0 0 84%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-margin-inline: 4px;
  }
  .v29-home .home-films::after {
    content: '';
    flex: 0 0 calc(16% - 16px);
  }
  .v29-home .home-films h3 { overflow-wrap: anywhere; }
  .v29-home .film-strip-controls:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    font-size: 14px;
    color: var(--muted);
  }
  .film-strip-arrows { display: flex; gap: 10px; }
  .film-strip-arrows button {
    width: 48px;
    height: 48px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--muted);
    color: var(--ink);
    font: 22px var(--sans);
    cursor: pointer;
  }
  .film-strip-arrows button:hover:not(:disabled) { background: var(--v29-sand); }
  .film-strip-arrows button:active:not(:disabled) { background: var(--line); }
  .film-strip-arrows button:disabled { opacity: .35; cursor: default; }
}

@media (max-width: 760px) {
  .v29-home .home-intro { padding-block: 48px; }
  .v29-home .film-section { padding-top: 48px; }
  .v29-home .home-about { padding-block: 48px; }
  .v29-home .home-preparation { padding-top: 52px; }
}
