:where([data-region]) .hero, :where([data-region]) .section {
  --ink: #1f1418;
  --ivory: #fcf7f6;
  --sand: #f6e8e9;
  --gold: #984a5e;
  --gold-light: #e7b9c2;
  --text: #3d3034;
}

:where([data-region]) .section {
  background: var(--ivory);
  color: var(--text);
  padding-block: clamp(3.5rem, 8vw, 6.5rem);
}

:where([data-region]) .section.fond-doux {
  background: var(--sand);
}

:where([data-region]) .section.sombre {
  background: var(--ink);
  color: #eadadd;
}

:where([data-region]) .section h1, :where([data-region]) .section h2, :where([data-region]) .section h3 {
  font-family: Didot, "Bodoni 72", Bodoni MT, Playfair Display, Libre Baskerville, Georgia, Times New Roman, serif;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: .01em;
}

:where([data-region]) .section.sombre h2, :where([data-region]) .section.sombre h3 {
  color: #fbeef0;
}

:where([data-region]) .section h1 {
  font-size: clamp(2.4rem, 6vw, 4rem);
  font-style: italic;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}

:where([data-region]) .section h2 {
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  line-height: 1.15;
  margin: 0 0 2rem;
}

:where([data-region]) .section h2:after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1px;
  background: var(--gold);
  margin-top: 1.1rem;
}

:where([data-region]) .section.sombre h2:after {
  background: var(--gold-light);
}

:where([data-region]) .section.centre h2:after, :where([data-region]) .section h2.centre:after {
  margin-inline: auto;
}

:where([data-region]) .section h3 {
  font-size: 1.45rem;
  margin: 0 0 .6rem;
}

:where([data-region]) .section p, :where([data-region]) .section li, :where([data-region]) .section figcaption {
  font-family: Iowan Old Style, Palatino Linotype, Palatino, Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.85;
}

:where([data-region]) .section.sombre p {
  color: #e0cfd3;
}

:where([data-region]) .section a:not(.bouton) {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-light);
}

:where([data-region]) .section a:not(.bouton):hover {
  color: var(--ink);
  border-color: var(--ink);
}

:where([data-region]) .section.sombre a:not(.bouton) {
  color: var(--gold-light);
}

:where([data-region]) .texte-grand {
  font-size: 1.3rem !important;
}

:where([data-region]) .surtitre {
  text-transform: uppercase;
  letter-spacing: .32em;
  margin: 0 0 1rem;
  font-family: Helvetica Neue, Arial, sans-serif !important;
  font-size: .72rem !important;
  color: var(--gold) !important;
}

:where([data-region]) .section.sombre .surtitre {
  color: var(--gold-light) !important;
}

:where([data-region]) .filet {
  display: block;
  width: 4.5rem;
  height: 1px;
  background: var(--gold-light);
  margin: 2.25rem auto;
  border: 0;
}

:where([data-region]) .boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 2.75rem;
}

:where([data-region]) .section .bouton {
  display: inline-block;
  font-family: Helvetica Neue, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .75rem;
  padding: 1rem 1.9rem;
  border-radius: 0;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #fff;
  text-decoration: none;
  transition: background .3s, color .3s, border-color .3s;
}

:where([data-region]) .section .bouton:hover {
  background: none;
  color: var(--gold);
}

:where([data-region]) .section.sombre .bouton:hover {
  background: none;
  color: var(--gold-light);
  border-color: var(--gold-light);
}

:where([data-region]) .citation {
  max-width: 46rem;
  margin-inline: auto;
  text-align: center;
}

:where([data-region]) .citation p {
  font-style: italic;
  font-family: Didot, "Bodoni 72", Playfair Display, Georgia, serif !important;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem) !important;
  line-height: 1.45 !important;
  color: #fbeef0 !important;
}

:where([data-region]) .section ul.liste-chic {
  list-style: none;
  padding: 0;
}

:where([data-region]) .section ul.liste-chic li {
  padding: 1.1rem 0;
  border-bottom: 1px solid #984a5e40;
}

:where([data-region]) .duo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

:where([data-region]) .duo-haut {
  align-items: start;
}

:where([data-region]) .photo {
  margin: 0;
  position: relative;
  z-index: 0;
}

:where([data-region]) .photo img {
  display: block;
  width: 100%;
  height: auto;
}

:where([data-region]) .photo:after {
  content: "";
  position: absolute;
  inset: .9rem -.9rem -.9rem .9rem;
  border: 1px solid var(--gold-light);
  background: #e7b9c22e;
  z-index: -1;
}

:where([data-region]) .photo figcaption {
  margin-top: 1.6rem;
  font-size: .92rem;
  font-style: italic;
  color: var(--gold);
}

:where([data-region]) .pochette {
  max-width: 26rem;
  justify-self: center;
  width: 100%;
}

:where([data-region]) .pochette img {
  box-shadow: 0 1.5rem 3rem #1f141838;
}

:where([data-region]) .annee {
  display: block;
  font-family: Helvetica Neue, Arial, sans-serif;
  letter-spacing: .25em;
  font-size: .7rem;
  color: var(--gold);
}
