/* L'association */
.essence__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.values { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.values li { display: grid; justify-items: center; align-content: start; gap: .8rem; padding: .5rem clamp(.9rem, 1.8vw, 1.75rem); text-align: center; border-left: 1px solid var(--color-border); }
.values li:first-child { border-left: 0; }
.values h3 { font-family: var(--font-body); font-size: .7rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; }
.values p { font-size: .9rem; color: var(--color-muted); }
.values .icon-ring { color: var(--color-green); transition: transform var(--dur) var(--ease-out); }
.values li:hover .icon-ring { transform: translateY(-5px) scale(1.08); }

.story__pattern { position: absolute; inset: 0; z-index: -1; background: url("../../images/pattern.svg") center / 110px; opacity: .05; }
.story__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.story__figure { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); perspective: 1200px; }
.story__figure img, .story__figure .img-placeholder { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.timeline { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1.5rem; position: relative; padding-top: 1.75rem; }
.timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 1px; background: var(--color-border-strong); }
.timeline li { position: relative; }
.timeline__dot { position: absolute; top: calc(-1.75rem + 1px); left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--color-brand-deep); box-shadow: 0 0 0 4px var(--color-paper), 0 0 0 5px var(--color-brand-deep); }
.timeline__date { font-family: var(--font-display); font-size: 1.5rem; color: var(--color-accent); }
.timeline h3 { font-size: 1.1rem; margin-top: .3rem; }
.timeline p:last-child { font-size: .88rem; color: var(--color-muted); margin-top: .35rem; }

.founder__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.founder__photo { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.founder__photo img { width: 100%; aspect-ratio: 4 / 4.6; object-fit: cover; }
.founder .prose { margin-top: 1.25rem; }

@media (max-width: 1024px) {
  .essence__grid, .story__grid, .founder__grid { grid-template-columns: minmax(0, 1fr); }
  .story__grid--reverse .story__figure { order: -1; }
  .timeline { grid-auto-flow: row; padding-top: 0; padding-left: 1.75rem; gap: 1.75rem; }
  .timeline::before { left: 5px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .timeline__dot { left: -1.75rem; top: .5rem; }
}
@media (max-width: 600px) {
  .values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0; }
  .values li:nth-child(odd) { border-left: 0; }
}
