
.portrait h2 { margin-bottom: var(--s-5); }
.portrait__visuel .legende { margin-top: var(--s-3); }

.lettrine::first-letter {
  float: left;
  margin: 0.08em 0.12em 0 0;
  font-family: var(--f-titre);
  font-size: 4.2em;
  font-weight: 300;
  font-style: italic;
  line-height: 0.8;
  color: var(--c-cuivre-profond);
}

.parcours {
  list-style: none;
  padding: 0;
  margin-top: var(--s-6);
  border-left: 1px solid var(--filet);
}
.parcours li {
  position: relative;
  display: grid;
  gap: var(--s-1);
  padding: 0 0 var(--s-4) var(--s-4);
}
.parcours li::before {
  content: "";
  position: absolute;
  left: -4px;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--fond);
  border: 1px solid var(--c-cuivre);
}
.parcours__date {
  font-family: var(--f-titre);
  font-style: italic;
  font-size: var(--t-lg);
  color: var(--c-cuivre-profond);
  line-height: 1.2;
}
.parcours__texte { color: var(--texte-doux); font-size: var(--t-sm); }

@media (min-width: 48rem) {
  .portrait__visuel { grid-column: 1 / 6; align-self: start; position: sticky; top: calc(var(--hauteur-header) + var(--s-4)); }
  .portrait__texte  { grid-column: 7 / 13; }
  .parcours li { grid-template-columns: 7rem 1fr; gap: var(--s-3); }
}

.philosophie__tete { margin-bottom: var(--s-7); }
.principes {
  display: grid;
  gap: var(--s-6) var(--gouttiere);
  list-style: none;
  padding: 0;
}
.principes li {
  padding-top: var(--s-4);
  border-top: 1px solid rgb(212 165 90 / 0.45);
}
.principes__num {
  display: block;
  margin-bottom: var(--s-3);
  font-family: var(--f-titre);
  font-size: var(--t-3xl);
  font-style: italic;
  font-weight: 200;
  line-height: 1;
  color: var(--c-or-pale);
}
.principes h3 { margin-bottom: var(--s-3); font-size: var(--t-lg); }
.principes p { color: rgb(245 240 230 / 0.88); }
@media (min-width: 48rem) {
  .principes { grid-template-columns: repeat(3, 1fr); }
  .principes li:nth-child(2) { margin-top: var(--s-6); }
  .principes li:nth-child(3) { margin-top: calc(var(--s-6) * 2); }
}

.producteurs__tete { margin-bottom: var(--s-7); align-items: end; }
@media (min-width: 48rem) {
  .producteurs__titre { grid-column: 1 / 7; }
  .producteurs__intro { grid-column: 8 / 13; }
}
.producteurs__liste {
  display: grid;
  gap: var(--s-6) var(--gouttiere);
  list-style: none;
  padding: 0;
}
@media (min-width: 40rem) { .producteurs__liste { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) {
  .producteurs__liste { grid-template-columns: repeat(4, 1fr); }
  .producteur:nth-child(even) { margin-top: var(--s-7); }
}
.producteur .visuel { margin-bottom: var(--s-3); }
.producteur img { transition: transform 1.2s var(--ease-doux); }
.producteur:hover img { transform: scale(1.04); }
.producteur__distance {
  font-size: var(--t-xs);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--accent);
}
.producteur h3 { margin-block: var(--s-1) var(--s-2); font-size: var(--t-lg); }
.producteur p:last-child { font-size: var(--t-sm); color: var(--texte-doux); }
.producteurs__note { margin-top: var(--s-6); }

.lieu .grille { row-gap: var(--s-6); }
.lieu h3 { font-size: var(--t-lg); }
@media (min-width: 48rem) {
  .lieu__intro          { grid-column: 1 / 9; }
  .lieu__salle          { grid-column: 1 / 8; }
  .lieu__texte-salle    { grid-column: 9 / 13; align-self: end; }
  .lieu__texte-terrasse { grid-column: 2 / 6; grid-row: 4; align-self: start; padding-top: var(--s-6); }
  .lieu__terrasse       { grid-column: 6 / 13; grid-row: 4; margin-top: calc(var(--s-7) * -1); }
}
