/* homepage-concept.css — losstaand ontwerpconcept voor een nieuwe homepage.
   NIET gekoppeld aan het menu, NIET de vervanger van index.html — puur om
   te bekijken. Bouwt voort op css/style.css (tokens, nav, footer) en voegt
   alleen concept-specifieke sectiestijlen toe.

   Uitgangspunten uit het gesprek met Matt (22 sept 2026):
   - Overwegend LICHT (~70-80%), donker alleen als bewust contrastmoment.
   - Rondingen waar het mooi is — niet overal hetzelfde radiusgetal.
   - Geen harde rechte lijnen tussen secties: organische golfvormen op de naad.
   - Eén terugkerende "signatuur"-lijn (dezelfde cognac-groeilijn als de
     inmiddels goedgekeurde wizard-tegels) als herkenbaar Harmann-detail.
   - Bewegende onderdelen: ademende foto's, zelftekenende lijnen, een
     scroll-gekoppeld "ontdek de kamer"-moment. */

.hp {
  background: #faf7f2;
  color: #2b2620;
}

.hp__label-banner {
  background: #1a1a18;
  color: #b5a898;
  text-align: center;
  font-family: var(--font-tekst);
  font-size: 12px;
  letter-spacing: 0.08em;
  padding: 10px 20px;
}
.hp__label-banner strong { color: #c9975a; font-weight: 500; }

/* ── Organische golf-overgang tussen secties — vervangt een rechte naad ── */
.hp-golf { display: block; width: 100%; height: 72px; margin-bottom: -1px; }
.hp-golf--naar-donker { fill: #201b15; }
.hp-golf--naar-licht { fill: #faf7f2; }

/* ── Signatuurlijn: dezelfde groeiende cognaclijn als de wizard-tegels ── */
.hp-lijn {
  display: inline-block; width: 30px; height: 2px; border-radius: 1px;
  background: linear-gradient(90deg, #8b6f47, rgba(139,111,71,0));
  transition: width 0.5s cubic-bezier(0.16,1,0.3,1);
}
.hp-lijn--zelftekenend {
  width: 56px;
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.9s cubic-bezier(0.16,1,0.3,1);
}
.hp-lijn--zelftekenend.hp-zichtbaar { transform: scaleX(1); }
.hp-groep:hover .hp-lijn--hover { width: 62px; }

.hp-eyebrow {
  font-family: var(--font-tekst); font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase;
  color: #8b6f47; margin: 0 0 16px;
}
.hp-eyebrow--fel {
  position: relative;
  display: inline-block;
  left: -24px;
  top: -8px;
  font-weight: 500;
}
.hp-eyebrow--fel::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -9px;
  width: 50%;
  height: 1px;
  background: #8b6f47;
  opacity: 0.6;
}

/* ══════════════════════════════ HERO ══════════════════════════════ */
.hp-hero {
  position: relative;
  min-height: 74vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.hp-hero__foto {
  position: absolute; inset: 0; z-index: 0;
  background-image: url("../foto's/hero-materiaal.webp");
  background-size: cover; background-position: center;
  animation: hpAdemen 30s ease-in-out infinite;
}
@keyframes hpAdemen { 0%, 100% { transform: scale(1.01); } 50% { transform: scale(1.07); } }
.hp-hero__sluier {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(250,247,242,0.96) 0%, rgba(250,247,242,0.35) 38%, rgba(28,22,15,0.12) 100%);
}
.hp-hero__golf {
  position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1;
  line-height: 0; pointer-events: none;
}
.hp-hero__golf svg { display: block; width: 100%; height: 64px; }

/* Donkere zone (kiezen-overlap + specialiteiten) laat de bestaande donkere
   tinten zacht in elkaar overlopen i.p.v. één plat vlak. */
.hp-donker-verloop {
  /* voorkomt dat de negatieve margin van .hp-kiezen--overlap (de overlappende
     kaarten) ook de achtergrond-box van dit verloop mee omhoog trekt —
     anders wordt het zachte begin van het verloop achter de hero verstopt
     en lijkt de rand juist harder in plaats van zachter */
  display: flow-root;
  background: linear-gradient(
    to bottom,
    var(--kleur-bg-secundair) 0%,
    var(--kleur-bg-primair) 42%,
    var(--kleur-bg-primair) 68%,
    var(--kleur-bg-secundair) 100%
  );
}
#specialiteiten.sectie--donker { background: transparent; }
.hp-hero__inhoud {
  position: relative; z-index: 2;
  max-width: var(--max-breedte); margin: 0 auto;
  padding: 0 24px 76px;
  width: 100%;
}
.hp-hero__titel {
  font-family: var(--font-titel); font-weight: 400; font-style: italic;
  font-size: clamp(30px, 4.6vw, 56px); line-height: 1.1; letter-spacing: 0.1px;
  color: #241f18; max-width: 14ch; text-wrap: balance;
}
.hp-hero__wissel {
  font-family: var(--font-tekst); font-style: normal; font-weight: 500;
  color: #8b6f47;
}
.hp-hero__tekst {
  font-family: var(--font-tekst); font-size: 16px; color: #5c4f42; max-width: 46ch;
  margin: 22px 0 0; line-height: 1.8;
}
.hp-hero__acties { display: flex; gap: 32px; margin-top: 34px; flex-wrap: wrap; }
.hp-hero__link {
  font-family: var(--font-tekst); font-size: 13px; letter-spacing: 0.05em; color: #2b2620;
  text-decoration: none; display: inline-flex; flex-direction: column; gap: 10px;
}
.hp-hero__link:hover .hp-lijn { width: 60px; }

/* ══════════════════════════════ WAAROM HARMANN (licht, groot fotopaneel) ══════════════════════════════ */
.hp-waarom { max-width: var(--max-breedte); margin: 0 auto; padding: 64px 24px 80px; }
.hp-waarom__paneel {
  position: relative; overflow: hidden; border-radius: 36px;
  min-height: 62vh; display: flex; align-items: flex-end;
}
.hp-waarom__foto {
  position: absolute; inset: 0;
  background-image: url("../foto's/maatwerk hoekmeubel.webp");
  background-size: cover; background-position: center;
  animation: hpAdemen 24s ease-in-out infinite; animation-delay: -6s;
}
.hp-waarom__sluier {
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(250,247,242,0.97) 0%, rgba(250,247,242,0.88) 32%, rgba(250,247,242,0.15) 62%, rgba(28,22,15,0.05) 100%);
}
.hp-waarom__tekst-blok { position: relative; z-index: 1; max-width: 42ch; padding: 56px; }
.hp-waarom__titel { font-size: clamp(24px, 2.8vw, 34px); font-weight: 400; line-height: 1.4; margin: 18px 0 0; color: #2b2620; }
.hp-waarom__naam { margin-top: 26px; font-family: var(--font-tekst); font-size: 13px; color: #9c8f7d; }
@media (max-width: 700px) { .hp-waarom__tekst-blok { padding: 32px 24px; } }

/* ══════════════════════════════ SPECIALITEITEN (licht, asymmetrisch) ══════════════════════════════ */
.hp-spec { max-width: var(--max-breedte); margin: 0 auto; padding: 0 24px 76px; }
.hp-spec__kop { margin-bottom: 44px; max-width: 50ch; }
.hp-spec__titel { font-size: clamp(26px, 3vw, 36px); font-weight: 400; margin: 16px 0 0; }
.hp-spec__grid {
  display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: repeat(2, 1fr); gap: 20px; min-height: 560px;
}
.hp-spec__kaart {
  position: relative; overflow: hidden; border-radius: 26px; display: flex; align-items: flex-end;
  text-decoration: none; box-shadow: 0 1px 3px rgba(43,38,32,0.08);
  transition: transform 0.45s cubic-bezier(0.16,1,0.3,1), box-shadow 0.45s ease;
}
.hp-spec__kaart:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(43,38,32,0.18); }
.hp-spec__kaart--groot { grid-row: 1/3; }
.hp-spec__kaart-foto {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  filter: brightness(0.9); animation: hpAdemen 22s ease-in-out infinite;
  transition: filter 0.4s ease;
}
.hp-spec__kaart:nth-child(2) .hp-spec__kaart-foto { animation-delay: -5s; }
.hp-spec__kaart:nth-child(3) .hp-spec__kaart-foto { animation-delay: -11s; }
.hp-spec__kaart:hover .hp-spec__kaart-foto { filter: brightness(1); }
.hp-spec__kaart-sluier {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(20,16,11,0.82) 0%, rgba(20,16,11,0.22) 55%, rgba(20,16,11,0) 100%);
}
.hp-spec__kaart-inhoud { position: relative; z-index: 1; padding: 28px 26px; color: #f8f5f1; }
.hp-spec__kaart-titel { font-family: var(--font-titel); font-size: clamp(20px, 2vw, 26px); font-weight: 500; text-shadow: 0 2px 14px rgba(0,0,0,0.4); }
.hp-spec__kaart--groot .hp-spec__kaart-titel { font-size: clamp(26px, 2.6vw, 34px); font-style: italic; font-weight: 400; }

/* ══════════════════════════════ ONTDEK-DE-KAMER (sticky scroll) ══════════════════════════════ */
.hp-ontdek { position: relative; background: #201b15; padding-bottom: 1px; }
.hp-ontdek__inner { max-width: var(--max-breedte); margin: 0 auto; padding: 76px 24px 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.hp-ontdek__beeld-kolom { position: sticky; top: 96px; align-self: start; height: 58vh; border-radius: 28px; overflow: hidden; }
.hp-ontdek__foto {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: opacity 1s ease, transform 8s ease;
  opacity: 0;
}
.hp-ontdek__foto.hp-actief { opacity: 1; transform: scale(1.05); }
.hp-ontdek__fases { display: flex; flex-direction: column; gap: 16vh; padding-top: 6vh; }
.hp-ontdek__fase { opacity: 0.3; transition: opacity 0.5s ease; max-width: 40ch; }
.hp-ontdek__fase.hp-actief { opacity: 1; }
.hp-ontdek__fase-nr { font-family: var(--font-titel); font-style: italic; color: #c9975a; font-size: 15px; }
.hp-ontdek__fase-titel { font-family: var(--font-titel); font-size: clamp(22px, 2.4vw, 30px); color: #f0ebe3; font-weight: 400; margin: 10px 0 12px; }
.hp-ontdek__fase-tekst { font-family: var(--font-tekst); font-size: 14.5px; color: #b5a898; line-height: 1.8; }

/* ══════════════════════════════ MATERIAALSTROOK (donker, tastbaar contrast) ══════════════════════════════ */
.hp-materiaal { background: #17130e; padding: 80px 0; }
.hp-materiaal__kop { max-width: var(--max-breedte); margin: 0 auto; padding: 0 24px 44px; }
.hp-materiaal__titel { font-size: clamp(24px, 2.8vw, 32px); color: #f0ebe3; font-weight: 400; margin: 16px 0 0; max-width: 40ch; }
.hp-materiaal__tekst { color: #9c8f7d; font-size: 14.5px; margin-top: 14px; max-width: 50ch; line-height: 1.8; }
.hp-materiaal__strook { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; padding: 0 3px; }
.hp-materiaal__swatch {
  position: relative; aspect-ratio: 3/4; overflow: hidden; cursor: pointer;
}
.hp-materiaal__swatch-foto {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  filter: brightness(0.72) saturate(0.95); transform: scale(1.1);
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1), filter 0.5s ease;
}
.hp-materiaal__swatch:hover .hp-materiaal__swatch-foto { transform: scale(1.22); filter: brightness(0.85) saturate(1.05); }
.hp-materiaal__swatch-naam {
  position: absolute; left: 18px; bottom: 18px; z-index: 1;
  font-family: var(--font-tekst); font-size: 12.5px; letter-spacing: 0.06em; color: #f0ebe3;
  opacity: 0; transform: translateY(8px); transition: opacity 0.35s ease, transform 0.35s ease;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.hp-materiaal__swatch:hover .hp-materiaal__swatch-naam { opacity: 1; transform: translateY(0); }

/* ══════════════════════════════ VERTROUWEN (licht, groot zacht fotopaneel op de achtergrond) ══════════════════════════════ */
.hp-vertrouwen-wrap { max-width: var(--max-breedte); margin: 0 auto; padding: 0 24px 80px; }
.hp-vertrouwen {
  position: relative; overflow: hidden; border-radius: 36px;
  padding: 90px 24px; text-align: center;
}
.hp-vertrouwen__foto {
  position: absolute; inset: 0;
  background-image: url("../foto's/stijlrichtingen/kastenwanden/licht-minimalistisch.webp");
  background-size: cover; background-position: center;
  animation: hpAdemen 26s ease-in-out infinite; animation-delay: -12s;
}
.hp-vertrouwen__sluier { position: absolute; inset: 0; background: rgba(250,247,242,0.86); }
.hp-vertrouwen__inhoud { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
.hp-vertrouwen__cijfer { font-family: var(--font-titel); font-style: italic; font-size: clamp(46px, 7vw, 78px); color: #8b6f47; line-height: 1; }
.hp-vertrouwen__cijfer-label { font-family: var(--font-tekst); font-size: 13px; color: #9c8f7d; margin-top: 10px; }
.hp-vertrouwen__citaat {
  font-family: var(--font-titel); font-style: italic; font-size: clamp(19px, 2vw, 24px);
  color: #2b2620; line-height: 1.6; margin: 44px auto 0; max-width: 34ch;
}
.hp-vertrouwen__citaat-naam { font-family: var(--font-tekst); font-size: 12.5px; color: #9c8f7d; margin-top: 16px; }

/* ══════════════════════════════ COLLECTIE VS MAATWERK ══════════════════════════════
   --overlap: schuift het blok omhoog over de onderkant van de hero-foto heen,
   zodat het al deels zichtbaar is zonder te scrollen (op Matt's verzoek). */
.hp-kiezen { max-width: var(--max-breedte); margin: 0 auto; padding: 0 24px 110px; }
.hp-kiezen--overlap { position: relative; z-index: 3; margin-top: -130px; padding-bottom: 90px; }
.hp-kiezen__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.hp-kiezen__kaart {
  position: relative; border-radius: 30px; overflow: hidden; aspect-ratio: 4/5; text-decoration: none;
  display: flex; align-items: flex-end;
  box-shadow: 0 24px 60px rgba(20,16,11,0.28);
}
.hp-kiezen--overlap .hp-kiezen__kaart { aspect-ratio: 4/4.4; }
.hp-kiezen__foto { position: absolute; inset: 0; background-size: cover; background-position: center; filter: brightness(0.88); transition: transform 0.7s cubic-bezier(0.16,1,0.3,1), filter 0.4s ease; }
.hp-kiezen__kaart:hover .hp-kiezen__foto { transform: scale(1.05); filter: brightness(1); }
.hp-kiezen__sluier { position: absolute; inset: 0; background: linear-gradient(to top, rgba(18,15,11,0.88) 0%, rgba(18,15,11,0.3) 50%, rgba(18,15,11,0.02) 100%); }
.hp-kiezen__inhoud { position: relative; z-index: 1; padding: 34px 30px; color: #f8f5f1; }
.hp-kiezen__eyebrow { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: #c9975a; margin-bottom: 10px; display: block; }
.hp-kiezen__titel { font-family: var(--font-titel); font-size: clamp(24px, 2.6vw, 32px); font-weight: 400; }
.hp-kiezen__uitleg { font-size: 13.5px; color: rgba(248,245,241,0.82); margin-top: 12px; max-width: 34ch; line-height: 1.7; }

/* ══════════════════════════════ CTA (donker, afsluitend) ══════════════════════════════ */
.hp-cta { background: #1a1a18; text-align: center; padding: 110px 24px; }
.hp-cta__titel { font-family: var(--font-titel); font-style: italic; font-weight: 400; font-size: clamp(30px, 4vw, 46px); color: #f0ebe3; max-width: 16ch; margin: 0 auto; text-wrap: balance; }
.hp-cta__tekst { color: #9c8f7d; font-size: 15px; margin: 20px auto 0; max-width: 42ch; line-height: 1.8; }
.hp-cta__knop {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 38px;
  background: #8b6f47; color: #f8f5f1; text-decoration: none;
  padding: 17px 34px; border-radius: 30px; font-family: var(--font-tekst); font-size: 14px; letter-spacing: 0.03em;
  transition: background 0.3s ease, transform 0.3s ease;
}
.hp-cta__knop:hover { background: #a3835c; transform: translateY(-2px); }

/* ── Scroll-reveal (hergebruikt dezelfde aanpak als de huidige homepage) ── */
.hp-glijdt-in { opacity: 0; transform: translateY(26px); transition: opacity 0.8s ease, transform 0.8s ease; }
.hp-glijdt-in.hp-zichtbaar { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .hp-hero__foto, .hp-waarom__foto, .hp-spec__kaart-foto, .hp-ontdek__foto,
  .hp-materiaal__swatch-foto, .hp-kiezen__foto { animation: none !important; transition: none !important; }
  .hp-glijdt-in, .hp-lijn--zelftekenend { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (max-width: 900px) {
  .hp-waarom { grid-template-columns: 1fr; gap: 36px; padding: 64px 24px 72px; }
  .hp-spec__grid { grid-template-columns: 1fr; grid-template-rows: none; min-height: auto; }
  .hp-spec__kaart--groot { grid-row: auto; min-height: 320px; }
  .hp-spec__kaart { min-height: 240px; }
  .hp-ontdek__inner { grid-template-columns: 1fr; }
  .hp-ontdek__beeld-kolom { position: relative; top: 0; height: 46vh; }
  .hp-ontdek__fases { gap: 40px; padding-top: 24px; }
  .hp-materiaal__strook { grid-template-columns: repeat(2, 1fr); }
  .hp-kiezen__grid { grid-template-columns: 1fr; gap: 16px; }
  .hp-kiezen--overlap { margin-top: -70px; }
  .hp-kiezen--overlap .hp-kiezen__kaart { aspect-ratio: 4/3.2; }
  .hp-hero { min-height: 70vh; }
}
