.numbers {
  grid-template-columns: repeat(2, minmax(0, 1fr)) 2fr;
}

@media (max-width: 850px) {
  .numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .numbers p { grid-column: 1 / 3; }
}

@media (max-width: 520px) {
  .numbers { grid-template-columns: 1fr; }
  .numbers p { grid-column: auto; }
}

/* Dorure discrète : un or mat, utilisé uniquement comme accent. */
:root {
  --gold: #d7ae68;
  --gold-soft: rgba(215, 174, 104, .42);
  --gold-gradient: linear-gradient(118deg, #8f642d 0%, #d2a451 28%, #f3dda0 52%, #c18a3c 76%, #f0c978 100%);
}

.hero-photo::before {
  border-color: transparent;
  border-image: var(--gold-gradient) 1;
  box-shadow: 0 0 28px rgba(215, 174, 104, .1);
}

.hero-photo figcaption span,
.service:hover .service-no {
  color: var(--gold);
}

.nav nav a,
.text-link {
  transition: color .25s ease, border-color .25s ease;
}

.nav nav a:hover,
.nav nav a:focus-visible,
.text-link:hover,
.text-link:focus-visible {
  color: var(--gold);
  border-color: var(--gold-soft);
}

.service:first-of-type,
footer {
  border-color: var(--gold-soft);
  border-image: linear-gradient(90deg, transparent, #d2a451 28%, #f3dda0 50%, #c18a3c 72%, transparent) 1;
}

footer {
  border-top: 1px solid var(--gold-soft);
}

.clients {
  border-bottom-color: transparent;
  border-image: linear-gradient(90deg, transparent, #d2a451 28%, #f3dda0 50%, #c18a3c 72%, transparent) 1;
}

.contact h2 {
  /* Laisse assez d'air aux descendantes de la dernière ligne. */
  line-height: 1.08;
  padding-bottom: .08em;
}

.contact h2 em {
  display: inline-block;
  padding: 0 .14em .12em 0;
  line-height: 1.12;
  color: var(--gold);
  background: var(--gold-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
