/* ============================================================
   TALENTUM — Section 3 : Talents à la Une (Step 2.2)
   Layout alterné, parallax portrait, masking reveal nom.
   ============================================================ */

#section-featured {
  background: var(--color-bg-primary);
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-2xl);
}

/* ----------------------------------------------------------------
   Intro — SectionTitle + signature script
   ---------------------------------------------------------------- */

.section-featured__intro {
  max-width: 1600px;
  margin: 0 auto;
}

.section-featured__flourish {
  font-family: var(--font-script);
  font-size: clamp(2rem, 4vw, 3.5rem);
  color: var(--color-accent-gold);
  text-align: center;
  margin: var(--space-md) auto 0;
  line-height: 1;
  opacity: 0;
  transform: rotate(-2deg) scale(0.95);
  transition: opacity 0.8s var(--ease-cinematic), transform 0.8s var(--ease-cinematic);
  transition-delay: 0.5s;
}

#section-featured.is-revealed .section-featured__flourish {
  opacity: 1;
  transform: rotate(-2deg) scale(1);
}

/* ----------------------------------------------------------------
   Featured block — grille 2 colonnes alternée
   ---------------------------------------------------------------- */

.featured-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  align-items: center;
  min-height: 100vh;
  padding: var(--space-2xl) clamp(1rem, 4vw, 4rem);
  max-width: 1600px;
  margin: 0 auto;
}

/* Layout B — portrait à droite */
.featured-block--right .featured-block__portrait { order: 2; }
.featured-block--right .featured-block__text      { order: 1; }

/* ----------------------------------------------------------------
   Portrait — clip-path reveal + parallax sur l'image
   ---------------------------------------------------------------- */

.featured-block__portrait {
  overflow: hidden;
  height: 80vh;
  /* Clip-path : portrait caché (100% bottom) → visible au scroll */
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1.4s var(--ease-cinematic);
}

.featured-block.is-revealed .featured-block__portrait {
  clip-path: inset(0 0 0% 0);
}

.featured-block__portrait-image {
  width: 100%;
  height: 140%; /* marge pour le parallax : ~±16vh de course */
  object-fit: cover;
  object-position: top center;
  display: block;
  filter: grayscale(100%) brightness(0.85);
  transition: filter 1.4s var(--ease-cinematic);
  /* transform injecté par JS (parallax) */
}

.featured-block:hover .featured-block__portrait-image {
  filter: grayscale(0%) brightness(1);
}

/* ----------------------------------------------------------------
   Bloc texte
   ---------------------------------------------------------------- */

.featured-block__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-lg) 0;
}

/* ---- Nom monumental ---- */

.featured-block__name {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--title-sub);
  line-height: 1.0;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--color-text-primary);
  margin: 0;
}

/* Chaque ligne = masque overflow hidden pour le reveal */
.featured-block__name .title-line {
  display: block;
  overflow: hidden;
}

/* Override margin-left hero sur ornament-group */
.featured-block__name .ornament-group {
  margin: 0 0.1em;
  gap: 0.1em;
  vertical-align: middle;
}

/* État initial — mots et bloc photo partent du bas */
.featured-block__name .title-line .word,
.featured-block__name .title-line .ornament-group {
  opacity: 0;
  transform: translateY(100%);
  transition: transform 0.9s var(--ease-cinematic), opacity 0.9s var(--ease-cinematic);
}

/* Reveal stagger : prénom (line 1) → nom + closeUp (line 2) */
.featured-block.is-revealed .featured-block__name .title-line:nth-child(1) .word,
.featured-block.is-revealed .featured-block__name .title-line:nth-child(1) .ornament-group {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}

.featured-block.is-revealed .featured-block__name .title-line:nth-child(2) .word,
.featured-block.is-revealed .featured-block__name .title-line:nth-child(2) .ornament-group {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.35s;
}

/* ---- Bio ---- */

.featured-block__bio {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: 1.7;
  color: var(--color-text-secondary);
  max-width: 420px;
  margin: var(--space-md) 0 0;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s var(--ease-cinematic), transform 0.7s var(--ease-cinematic);
  transition-delay: 0.5s;
}

.featured-block.is-revealed .featured-block__bio {
  opacity: 1;
  transform: translateY(0);
}

/* ---- Tags gold ---- */

.featured-block__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  list-style: none;
  padding: 0;
  margin: var(--space-sm) 0 0;
  opacity: 0;
  transition: opacity 0.7s var(--ease-cinematic);
  transition-delay: 0.65s;
}

.featured-block.is-revealed .featured-block__tags {
  opacity: 1;
}

.featured-block__tags li {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-small);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-accent-gold);
}

.featured-block__tags li:not(:last-child)::after {
  content: ' ·';
  color: var(--color-text-secondary);
  margin-left: 0.3em;
}

/* ----------------------------------------------------------------
   Responsive — mobile
   ---------------------------------------------------------------- */

@media (max-width: 767px) {
  .featured-block,
  .featured-block--right {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: var(--space-lg);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }

  .featured-block__portrait {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .featured-block__bio {
    margin-top: var(--space-sm);
  }

  .featured-block--right .featured-block__portrait,
  .featured-block--right .featured-block__text { order: unset; }

  /* Bloc image intro (parens + photo) descendu de 10px sur mobile */
  #section-featured .section-title .ornament-group {
    transform: translateY(-10px);
  }
}

/* ----------------------------------------------------------------
   Reduced motion
   ---------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .featured-block__portrait {
    clip-path: none;
    transition: none;
  }

  .featured-block__portrait-image {
    height: 100%;
    transition: filter 0.3s ease;
  }

  .featured-block__name .title-line .word,
  .featured-block__name .title-line .ornament-group {
    transition: opacity 0.3s ease;
    transform: none;
  }

  .featured-block.is-revealed .featured-block__name .title-line:nth-child(1) .word,
  .featured-block.is-revealed .featured-block__name .title-line:nth-child(1) .ornament-group,
  .featured-block.is-revealed .featured-block__name .title-line:nth-child(2) .word,
  .featured-block.is-revealed .featured-block__name .title-line:nth-child(2) .ornament-group {
    transition-delay: 0s;
  }

  .featured-block__bio,
  .featured-block__tags,
  .section-featured__flourish {
    transition: opacity 0.3s ease;
    transform: none;
    transition-delay: 0s;
  }
}
