: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]) .hero h1, :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]) .section.sombre a:not(.bouton):hover {
  color: #fbeef0;
  border-color: #fbeef0;
}

: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]) .hero .surtitre, :where([data-region]) .section.sombre .surtitre {
  color: var(--gold-light) !important;
}

:where([data-region]) .hero {
  background: radial-gradient(at 50% -10%, #4a2a33 0%, #1f1418 65%);
  color: #f6eaec;
  text-align: center;
  padding-block: clamp(6rem, 16vw, 11rem);
}

:where([data-region]) .hero h1 {
  color: #fbeef0;
  font-size: clamp(3.2rem, 10vw, 7rem);
  font-style: italic;
  line-height: 1;
  margin: 0 0 1.75rem;
}

:where([data-region]) .hero .hero-intro {
  color: #e0cfd3;
  max-width: 36rem;
  margin-inline: auto;
  font-family: Iowan Old Style, Palatino, Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.85;
}

: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]) .boutons-gauche {
  justify-content: flex-start;
}

:where([data-region]) .hero .bouton, :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]) .hero .bouton:hover, :where([data-region]) .section.sombre .bouton:hover {
  background: none;
  color: var(--gold-light);
  border-color: var(--gold-light);
}

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

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

:where([data-region]) .hero .bouton.bouton-secondaire:hover {
  background: var(--gold-light);
  color: var(--ink);
}

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

:where([data-region]) .section .cartes {
  gap: 1.5rem;
}

:where([data-region]) .section .carte {
  background: #fff;
  border: 0;
  border-top: 2px solid var(--gold-light);
  border-radius: 0;
  box-shadow: 0 1px #1f14180d;
  padding: 2rem 1.75rem;
}

:where([data-region]) .section .carte p {
  font-size: 1rem;
}

:where([data-region]) .section .etapes {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 1px solid var(--gold-light);
}

:where([data-region]) .section .etapes li {
  position: relative;
  padding: 0 0 2.75rem 2.25rem;
}

:where([data-region]) .section .etapes li:before {
  content: "";
  position: absolute;
  left: -5px;
  top: .45rem;
  width: 9px;
  height: 9px;
  background: var(--gold);
  transform: rotate(45deg);
}

:where([data-region]) .section .etape-numero {
  display: block;
  font-family: Helvetica Neue, Arial, sans-serif;
  letter-spacing: .3em;
  font-size: .75rem;
  color: var(--gold);
  margin-bottom: .4rem;
  background: none;
}

:where([data-region]) .section .etapes h3 {
  font-style: italic;
}

: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]) .videos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  gap: 2.5rem;
  margin-bottom: 2rem;
}

:where([data-region]) .videos figure {
  margin: 0;
}

:where([data-region]) .videos figcaption {
  margin-top: .9rem;
  font-size: .98rem;
  font-style: italic;
}

:where([data-region]) .video-vedette {
  max-width: 52rem;
  margin-inline: auto;
}

: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]) .hero-portrait {
  text-align: left;
  padding-block: clamp(3rem, 8vw, 6rem);
  background: radial-gradient(at 75% 30%, #4d2a35 0%, #1f1418 62%);
}

:where([data-region]) .hero-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

:where([data-region]) .hero-portrait .filet, :where([data-region]) .hero-portrait .hero-intro {
  margin-inline: 0;
}

:where([data-region]) .hero-portrait .boutons {
  justify-content: flex-start;
}

:where([data-region]) .hero-image {
  margin: 0;
  position: relative;
  z-index: 0;
  max-width: 30rem;
  width: 100%;
  justify-self: center;
}

:where([data-region]) .hero-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: 50% 25%;
}

:where([data-region]) .hero-image:before {
  content: "";
  position: absolute;
  inset: -1.1rem 1.1rem 1.1rem -1.1rem;
  border: 1px solid var(--gold-light);
  z-index: -1;
}

: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]) .galerie {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 2.5rem;
}

:where([data-region]) .mosaique {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: 1rem;
}

:where([data-region]) .mosaique figure {
  margin: 0;
  overflow: hidden;
}

:where([data-region]) .mosaique img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: 50% 25%;
  filter: grayscale(.2);
  transition: transform .8s, filter .8s;
}

:where([data-region]) .mosaique figure:hover img {
  transform: scale(1.04);
  filter: none;
}

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

:where([data-region]) .contact-mail {
  font-family: Didot, "Bodoni 72", Playfair Display, Georgia, serif;
  font-style: italic;
  overflow-wrap: anywhere;
  font-size: clamp(1.3rem, 3.5vw, 2.2rem) !important;
  color: var(--gold-light) !important;
  border-bottom: 1px solid var(--gold-light) !important;
}

:where([data-region]) .encadre-or {
  border: 1px solid var(--gold-light);
  padding: clamp(1.75rem, 4vw, 2.75rem);
  background: #fff;
}

:where([data-region]) .credit {
  font-style: italic;
  color: #7d6a6f;
  font-size: .85rem !important;
}

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

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

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