@font-face {
  font-family: "Geist";
  src: url("../assets/fonts/Geist-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("../assets/fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 5.5rem;
  scroll-behavior: smooth;
  scrollbar-color: #EB9367 #1C1456;
}
::-webkit-scrollbar {
  width: 0.75rem;
  height: 0.75rem;
  background: #1C1456;
}
::-webkit-scrollbar-track {
  background: #1C1456;
}
::-webkit-scrollbar-thumb {
  background: #EB9367;
  border: 0.1875rem solid #1C1456;
  border-radius: 62.5rem;
}
::-webkit-scrollbar-thumb:hover {
  background: #efa682;
}
body {
  margin: 0;
  background: #1C1456;
  color: #F9F9F1;
  font-family: "Geist", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-wrap: pretty;
}
body.menu-ouvert {
  overflow: hidden;
}
a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
a:hover {
  color: #EB9367;
}
h1,
h2,
h3,
h4,
p,
figure,
blockquote {
  margin: 0;
}
img,
video,
svg {
  display: block;
  max-width: 100%;
}
img {
  height: auto;
}
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}
:focus-visible {
  outline: 2px solid #EB9367;
  outline-offset: 2px;
}
::selection {
  background: #EB9367;
  color: #1C1456;
}
.lien-evitement {
  position: absolute;
  left: -624.9375rem;
  top: 0.75rem;
  z-index: 100;
  padding: 0.625rem 0.875rem;
  border-radius: 0.3125rem;
  background: #EB9367;
  color: #1C1456;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
}
.lien-evitement:focus {
  left: 0.75rem;
}
.container {
  width: 100%;
  max-width: 80rem;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.main {
  display: block;
}
.section-claire {
  background: #F9F9F1;
  color: #1C1456;
  border-radius: 1.75rem;
  margin: 0 0.5rem;
}
.section-claire > .container {
  padding-top: 6.5rem;
  padding-bottom: 7rem;
}
.section-claire a:hover {
  color: inherit;
}
@media (max-width: 47.5rem) {
  .section-claire {
    border-radius: 1.25rem;
  }
  .section-claire > .container {
    padding-top: 4.5rem;
    padding-bottom: 5rem;
  }
}
.section-claire + .section-claire,
.section-claire + .cta,
.cta + .section-claire {
  margin-top: 0.5rem;
}
.section-sombre > .container {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media (max-width: 47.5rem) {
  .section-sombre > .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.deux-colonnes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 4rem;
  align-items: start;
}
@media (max-width: 47.5rem) {
  .deux-colonnes {
    gap: 3rem;
  }
}
.colonne-fixe {
  position: sticky;
  top: 6.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.375rem;
}
@media (max-width: 47.5rem) {
  .colonne-fixe {
    position: static;
  }
}
.titre-xl {
  font-size: clamp(2.5rem, 6.2vw, 5.25rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 400;
  max-width: 66.25rem;
}
.titre-l {
  font-size: clamp(2.125rem, 4.6vw, 3.875rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 400;
}
.titre-m {
  font-size: clamp(1.75rem, 3.2vw, 2.625rem);
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: 400;
}
.titre-s {
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
.texte {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: #B3AFD0;
  max-width: 35rem;
}
.section-claire .texte {
  color: #3F3A6E;
}
.texte--petit {
  font-size: 0.9375rem;
  max-width: 32.5rem;
}
.orange {
  color: #EB9367;
}
.petit-label {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #B3AFD0;
}
.section-claire .petit-label {
  color: #6B6886;
}
.espace {
  height: 6.5rem;
}
.contenu-page > p,
.contenu-page > h2,
.contenu-page > h3,
.contenu-page > h4,
.contenu-page > ul,
.contenu-page > ol,
.contenu-page > blockquote,
.contenu-page > figure,
.contenu-page > table,
.contenu-page > hr,
.contenu-page > .wp-block-buttons {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.contenu-page > p,
.contenu-page > ul,
.contenu-page > ol {
  font-size: 1rem;
  line-height: 1.7;
  color: #B3AFD0;
  margin-bottom: 1em;
}
.contenu-page > h2 {
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: -0.025em;
  margin-top: 2em;
  margin-bottom: 0.6em;
}
.contenu-page > h3 {
  font-size: 1.3125rem;
  font-weight: 500;
  margin-top: 1.6em;
  margin-bottom: 0.5em;
}
.contenu-page > *:not(section):last-child {
  margin-bottom: 7.5rem;
}
.contenu-page > p a,
.contenu-page > ul a,
.contenu-page > ol a {
  text-decoration: underline;
  text-decoration-color: #EB9367;
  text-underline-offset: 0.1875rem;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 1;
  }
}
@keyframes blink {
  0%,
  49% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
  }
}
@keyframes defile {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes appear {
  0% {
    opacity: 0;
    transform: translateY(0.625rem);
  }
  15%,
  70% {
    opacity: 1;
    transform: none;
  }
  85%,
  100% {
    opacity: 0;
    transform: translateY(-0.375rem);
  }
}
@keyframes typeIn {
  0% {
    transform: scaleX(0);
  }
  12%,
  72% {
    transform: scaleX(1);
  }
  88%,
  100% {
    transform: scaleX(0);
  }
}
@keyframes resize {
  0%,
  28% {
    width: 100%;
  }
  42%,
  62% {
    width: 64%;
  }
  76%,
  100% {
    width: 38%;
  }
}
@keyframes cursor {
  0%,
  10% {
    transform: translate(0.625rem, 7.5rem);
  }
  45%,
  60% {
    transform: translate(8rem, 3.625rem);
  }
  100% {
    transform: translate(0.625rem, 7.5rem);
  }
}
@keyframes press {
  0%,
  44% {
    transform: scale(1);
    background: #1C1456;
  }
  50%,
  58% {
    transform: scale(0.94);
    background: #EB9367;
  }
  64%,
  100% {
    transform: scale(1);
    background: #1C1456;
  }
}
@keyframes swatch {
  0%,
  30% {
    background: #EB9367;
  }
  33%,
  63% {
    background: #1C1456;
  }
  66%,
  96% {
    background: #B3AFD0;
  }
  100% {
    background: #EB9367;
  }
}
@keyframes pick {
  0%,
  22% {
    box-shadow: 0 0 0 2px #EB9367;
  }
  25%,
  100% {
    box-shadow: 0 0 0 0 rgba(235, 147, 103, 0);
  }
}
@keyframes flamme {
  0%,
  100% {
    opacity: 0.7;
  }
  30% {
    opacity: 1;
  }
  55% {
    opacity: 0.8;
  }
  80% {
    opacity: 0.95;
  }
}
@keyframes flamme-haute {
  0%,
  100% {
    opacity: 0.35;
  }
  40% {
    opacity: 1;
  }
  70% {
    opacity: 0.55;
  }
}
@keyframes egaliseur {
  0%,
  100% {
    transform: scaleY(0.35);
  }
  50% {
    transform: scaleY(1);
  }
}
@keyframes grow {
  0%,
  8% {
    transform: scaleY(0.25);
  }
  28%,
  78% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(0.25);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .diag *,
  .defilement__piste,
  .hero__halo i,
  .son__barres i,
  .ast {
    animation: none !important;
  }
}
.ast {
  display: inline-block;
  flex: none;
  width: 0.75rem;
  height: 0.75rem;
  background: #EB9367;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(60 12 12)'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(120 12 12)'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(60 12 12)'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(120 12 12)'/%3E%3C/svg%3E") center / contain no-repeat;
}
.surtitre {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.surtitre__dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #EB9367;
  flex: none;
}
.ariane {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #B3AFD0;
}
.ariane__sep {
  opacity: 0.5;
}
.ariane__courant {
  color: #F9F9F1;
}
.btn {
  display: inline-flex;
  align-items: center;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 0.8125rem 1.25rem;
  border-radius: 0.3125rem;
  border: 1px solid transparent;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.25s, color 0.25s, border-color 0.25s, filter 0.25s;
}
.btn__roll {
  position: relative;
  display: block;
  overflow: hidden;
}
.btn__t1 {
  display: block;
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn__t2 {
  position: absolute;
  inset: 0;
  display: block;
  transform: translateY(110%);
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.btn:hover .btn__t1 {
  transform: translateY(-110%);
}
.btn:hover .btn__t2 {
  transform: translateY(0);
}
@media (max-width: 30rem) {
  .btn {
    white-space: normal;
    text-align: left;
  }
}
.btn--petit {
  padding: 0.625rem 1rem;
}
.btn--grand {
  padding: 0.875rem 1.375rem;
}
.btn--orange {
  background: #EB9367;
  color: #1C1456;
}
.btn--orange:hover {
  color: #1C1456 !important;
  filter: brightness(1.06);
}
.btn--contour {
  border-color: rgba(249, 249, 241, 0.14);
  color: #F9F9F1;
}
.btn--contour:hover {
  border-color: #F9F9F1;
  color: #F9F9F1;
}
.btn--texte {
  color: #F9F9F1;
}
.btn--texte:hover {
  color: #EB9367;
}
.btn--sombre {
  background: #1C1456;
  color: #F9F9F1;
}
.btn--sombre:hover {
  background: #EB9367;
  color: #1C1456 !important;
}
.btn--contour-sombre {
  background: #fff;
  border-color: rgba(28, 20, 86, 0.12);
  color: #1C1456;
}
.btn--contour-sombre:hover {
  background: #1C1456;
  border-color: #1C1456;
  color: #F9F9F1 !important;
}
.boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.placeholder {
  width: 100%;
  height: 100%;
  min-height: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-align: center;
  background: repeating-linear-gradient(135deg, rgba(127, 122, 170, 0.12) 0 0.625rem, transparent 0.625rem 1.25rem);
  color: #7F7AAA;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fenetre {
  border-radius: 0.75rem 0.75rem 0 0;
  border: 1px solid rgba(249, 249, 241, 0.14);
  border-bottom: 0;
  background: #120D3D;
  overflow: hidden;
  box-shadow: 0 -2.5rem 6.25rem -2.5rem rgba(235, 147, 103, 0.25);
}
.fenetre__barre {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  border-bottom: 1px solid rgba(249, 249, 241, 0.14);
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  color: #B3AFD0;
  text-transform: none;
}
.fenetre__points {
  display: flex;
  gap: 0.375rem;
}
.fenetre__points i {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #372D7C;
}
.fenetre__ecran {
  aspect-ratio: 16 / 9;
  background: #2A2168;
}
.fenetre__nom {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.son {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  flex: none;
  padding: 0.3125rem 0.625rem;
  border: 1px solid rgba(249, 249, 241, 0.14);
  border-radius: 62.5rem;
  background: transparent;
  color: #F9F9F1;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.25s, border-color 0.25s, color 0.25s;
}
.son:hover {
  border-color: #EB9367;
}
.son__barres {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.125rem;
  height: 0.625rem;
}
.son__barres i {
  display: block;
  width: 0.125rem;
  height: 100%;
  border-radius: 1px;
  background: currentColor;
  transform: scaleY(0.35);
  transform-origin: bottom;
}
.son.is-on {
  background: #EB9367;
  border-color: #EB9367;
  color: #1C1456;
}
.son.is-on .son__barres i {
  animation: egaliseur 0.9s ease-in-out infinite;
}
.son.is-on .son__barres i:nth-child(2) {
  animation-delay: -0.3s;
}
.son.is-on .son__barres i:nth-child(3) {
  animation-delay: -0.6s;
}
.son.is-on .son__barres i:nth-child(4) {
  animation-delay: -0.15s;
}
.tuile-chiffre {
  border-radius: 0.75rem;
  background: #2A2168;
  padding: 1.375rem;
}
.tuile-chiffre__valeur {
  font-size: 2.25rem;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.tuile-chiffre__label {
  margin-top: 0.375rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B3AFD0;
}
.numero-section {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.numero-section__trait {
  width: 1.75rem;
  height: 1px;
  background: currentColor;
  opacity: 0.3;
}
.liste-etapes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.etape {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.75rem 0;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
}
.section-claire .etape {
  border-color: rgba(28, 20, 86, 0.12);
}
.etape__num {
  padding-top: 0.375rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  color: #EB9367;
}
.etape__corps {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.liste-etapes--compacte .etape {
  padding: 1.5rem 0;
}
.liste-etapes--compacte .etape .titre-s {
  font-size: 1.375rem;
  line-height: 1.25;
}
.carte-visuel {
  border-radius: 0.75rem;
  background: #E9E7F2;
  padding: 1.75rem;
  min-height: 17.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.carte-visuel--image {
  padding: 0;
  aspect-ratio: 16 / 10;
  min-height: 0;
}
@media (max-width: 47.5rem) {
  .carte-visuel {
    padding: 1.25rem;
    min-height: 13.75rem;
  }
}
.etiquettes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.25rem;
}
.etiquette {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(249, 249, 241, 0.14);
  border-radius: 0.3125rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.section-claire .etiquette {
  border-color: rgba(28, 20, 86, 0.12);
}
.etiquette .ast {
  width: 0.625rem;
  height: 0.625rem;
}
.barre-filtres {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(28, 20, 86, 0.12);
}
.barre-filtres__compte {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B6886;
}
.filtres {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.filtre {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.625rem 0.875rem;
  border-radius: 0.3125rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  background: #fff;
  color: #1C1456;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.filtre:hover {
  border-color: #1C1456;
  color: #1C1456;
}
.filtre.is-actif {
  background: #1C1456;
  border-color: #1C1456;
  color: #F9F9F1 !important;
}
.rond-fleche {
  width: 2.5rem;
  height: 2.5rem;
  flex: none;
  border-radius: 50%;
  background: #1C1456;
  color: #F9F9F1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.875rem;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.rond-fleche--grand {
  width: 4rem;
  height: 4rem;
  background: #EB9367;
  color: #1C1456;
  font-size: 1.25rem;
}
.entete-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.grille-articles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
  gap: 1rem;
}
.carte-article {
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  background: #fff;
  border: 1px solid rgba(28, 20, 86, 0.12);
  overflow: hidden;
  color: #1C1456;
  transition: border-color 0.2s;
}
.carte-article:hover {
  border-color: #1C1456;
  color: #1C1456;
}
.carte-article__visuel {
  aspect-ratio: 16 / 10;
  background: #2A2168;
  overflow: hidden;
}
.carte-article__visuel img {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.carte-article:hover .carte-article__visuel img {
  transform: scale(1.03);
}
.carte-article__corps {
  padding: 1.125rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.carte-article__haut {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.carte-article__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.875rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B6886;
}
.carte-article__titre {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.3;
}
.carte-article__extrait {
  font-size: 0.875rem;
  line-height: 1.55;
  color: #3F3A6E;
}
.carte-article__lire {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.carte-article--une {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 26.25rem), 1fr));
  margin-bottom: 1rem;
}
.carte-article--une .carte-article__corps {
  padding: clamp(1.375rem, 3vw, 2.5rem);
  justify-content: space-between;
  gap: 1.75rem;
}
.carte-article--une .carte-article__haut {
  gap: 1.125rem;
}
.carte-article--une .carte-article__titre {
  font-size: clamp(1.625rem, 3vw, 2.5rem);
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.carte-article--une .carte-article__extrait {
  font-size: 1rem;
  line-height: 1.6;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.5rem;
  border-radius: 0.25rem;
  background: #1C1456;
  color: #F9F9F1;
}
.badge .ast {
  width: 0.5625rem;
  height: 0.5625rem;
}
.trace {
  position: fixed;
  inset: 0;
  z-index: 45;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.trace.is-visible {
  opacity: 1;
}
.trace i {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--t, 10rem);
  height: var(--t, 10rem);
  margin: calc(var(--t, 10rem) / -2) 0 0 calc(var(--t, 10rem) / -2);
  border-radius: 50%;
  background: radial-gradient(circle closest-side, rgba(235, 147, 103, 0.55), rgba(235, 147, 103, 0.22) 45%, rgba(235, 147, 103, 0));
  opacity: 0;
  will-change: transform, opacity;
}
.header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(28, 20, 86, 0.82);
  -webkit-backdrop-filter: blur(0.875rem);
  backdrop-filter: blur(0.875rem);
  border-bottom: 1px solid rgba(249, 249, 241, 0.14);
}
.admin-bar .header {
  top: 2rem;
}
@media (max-width: 48.875rem) {
  .admin-bar .header {
    top: 2.875rem;
  }
}
.header__inner {
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.header__logo {
  height: 1.375rem;
  color: #F9F9F1;
}
.header__actions {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media (max-width: 25rem) {
  .header__actions .btn {
    display: none;
  }
}
.logo {
  display: block;
}
.logo__svg {
  height: 100%;
  width: auto;
  overflow: visible;
}
.logo__dot {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.logo:hover {
  color: inherit;
}
.logo:hover .logo__dot {
  transform: translateY(-0.3125rem);
}
.header__logo:hover {
  color: #F9F9F1;
}
.burger {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(249, 249, 241, 0.14);
  border-radius: 0.3125rem;
  background: transparent;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0;
  transition: border-color 0.2s;
}
.burger:hover {
  border-color: #F9F9F1;
}
.burger__barre {
  display: block;
  width: 1.125rem;
  height: 1.5px;
  background: #F9F9F1;
  transition: transform 0.3s;
}
.burger[aria-expanded="true"] .burger__barre:first-child {
  transform: translateY(0.2344rem) rotate(45deg);
}
.burger[aria-expanded="true"] .burger__barre:last-child {
  transform: translateY(-0.2344rem) rotate(-45deg);
}
.menu {
  position: fixed;
  inset: 4rem 0 0 0;
  z-index: 35;
  background: #1C1456;
  background-image: radial-gradient(rgba(249, 249, 241, 0.18) 1px, transparent 1px);
  background-size: 3rem 3rem;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.35s;
}
.admin-bar .menu {
  top: 6rem;
}
@media (max-width: 48.875rem) {
  .admin-bar .menu {
    top: 6.875rem;
  }
}
.menu.is-ouvert {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s;
}
.menu__inner {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
  gap: 3rem;
}
.menu__nav {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.menu__label {
  margin-bottom: 1.125rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #EB9367;
}
.menu__lien {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(249, 249, 241, 0.14);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.menu__lien:last-child {
  border-bottom: 0;
}
.menu__lien--cta {
  color: #EB9367;
}
.menu__ast {
  width: 0.42em;
  height: 0.42em;
}
.menu__contact {
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.8125rem;
  color: #B3AFD0;
}
.menu__contact a {
  color: #F9F9F1;
}
.menu__contact .menu__label {
  margin-bottom: 0;
}
.footer {
  padding: 4.5rem 0 1.5rem;
}
.footer__haut {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 3rem;
}
.footer__intro {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
.footer__intro p {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #B3AFD0;
  max-width: 23.75rem;
}
.footer__logo {
  height: 1.5rem;
  color: #F9F9F1;
  align-self: flex-start;
}
.footer__logo:hover {
  color: #F9F9F1;
}
.footer__col {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  font-size: 0.8125rem;
  color: #B3AFD0;
}
.footer__titre {
  margin-bottom: 0.375rem;
  font-size: 0.75rem;
  color: #F9F9F1;
}
.footer__bas {
  margin-top: 6rem;
  margin-left: auto;
  width: 66%;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 64rem) {
  .footer__bas {
    width: 100%;
  }
}
.footer__boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.footer__wordmark {
  overflow: hidden;
  color: #F9F9F1;
}
.footer__wordmark .logo__svg {
  width: 100%;
  height: auto;
  transform: translateY(34%);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.footer__wordmark:hover {
  color: #F9F9F1;
}
.footer__wordmark:hover .logo__svg {
  transform: translateY(26%);
}
.footer__legal {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  color: #B3AFD0;
}
.footer__legal a {
  text-transform: uppercase;
}
.hero {
  position: relative;
  overflow: hidden;
}
.hero__inner {
  position: relative;
  padding-top: 7.5rem;
}
@media (max-width: 47.5rem) {
  .hero__inner {
    padding-top: 4.5rem;
  }
}
.hero__texte {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.625rem;
  max-width: 56.25rem;
  position: relative;
  z-index: 1;
}
.hero__texte .boutons {
  margin-top: 0.375rem;
}
.hero__titre {
  font-size: clamp(2.625rem, 6.6vw, 5.5rem);
  line-height: 1;
  letter-spacing: -0.035em;
  font-weight: 400;
}
.hero__ecran {
  --mx: 50%;
  --my: 0px;
  --mi: 0;
  position: relative;
  margin-top: 4.5rem;
  isolation: isolate;
}
@media (max-width: 47.5rem) {
  .hero__ecran {
    margin-top: 3rem;
  }
}
.hero__fenetre {
  position: relative;
  z-index: 1;
  box-shadow: none;
}
.hero__fenetre::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: radial-gradient(9rem 100% at var(--mx) 50%, rgba(255, 214, 186, 0.95), rgba(255, 214, 186, 0));
  opacity: var(--mi);
  pointer-events: none;
}
.hero__halo {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero__halo i {
  position: absolute;
  inset: 0;
  border-radius: 0.75rem 0.75rem 0 0;
  box-shadow: 0 -3rem 7rem -2.5rem rgba(235, 147, 103, 0.5);
  animation: flamme 4.2s ease-in-out infinite;
  will-change: opacity;
}
.hero__halo i:nth-child(2) {
  box-shadow: 0 -4.5rem 9rem -3rem rgba(244, 178, 112, 0.4);
  animation-name: flamme-haute;
  animation-duration: 5.6s;
  animation-delay: -2s;
}
.hero__lueur {
  position: absolute;
  inset: -7rem;
  z-index: 0;
  pointer-events: none;
  opacity: var(--mi);
  -webkit-mask-image: radial-gradient(20rem 14rem at calc(var(--mx) + 7rem) calc(var(--my) + 7rem), #000, rgba(0, 0, 0, 0.45) 45%, transparent 75%);
  mask-image: radial-gradient(20rem 14rem at calc(var(--mx) + 7rem) calc(var(--my) + 7rem), #000, rgba(0, 0, 0, 0.45) 45%, transparent 75%);
}
.hero__lueur i {
  position: absolute;
  inset: 7rem;
  border-radius: 0.75rem 0.75rem 0 0;
  box-shadow: 0 0 1.5rem 0.125rem rgba(255, 196, 150, 0.7), 0 0 4.5rem 0.5rem rgba(235, 147, 103, 0.45);
}
.hero__video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #120D3D;
}
.defilement {
  padding: 2.5rem 0;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
  overflow: hidden;
}
.defilement__titre {
  margin-bottom: 1.5rem;
}
.defilement__masque {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.defilement__piste {
  display: flex;
  width: max-content;
  animation: defile 32s linear infinite;
}
.defilement__groupe {
  display: flex;
  flex: none;
}
.defilement__mot {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0 2.75rem;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.defilement__mot .ast {
  width: 1rem;
  height: 1rem;
}
.defilement--moyen {
  padding: 1.75rem 0;
  border-bottom: 1px solid rgba(249, 249, 241, 0.14);
}
.defilement--moyen .defilement__piste {
  animation-duration: 36s;
}
.defilement--moyen .defilement__mot {
  padding: 0 2.25rem;
  font-size: 1.25rem;
}
.competences-accueil {
  margin-top: 1.5rem;
}
.competences-accueil__cartes {
  display: flex;
  flex-direction: column;
  gap: 5.5rem;
}
@media (max-width: 47.5rem) {
  .competences-accueil__cartes {
    gap: 3.5rem;
  }
}
.carte-competence {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}
.carte-competence .titre-s {
  font-size: 1.625rem;
}
.a-propos__inner {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
  gap: 4rem;
  align-items: center;
}
@media (max-width: 47.5rem) {
  .a-propos__inner {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.a-propos__texte {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.a-propos__visuels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}
.a-propos__visuels .tuile-chiffre {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.a-propos__portrait {
  grid-row: span var(--n, 2);
  align-self: start;
  aspect-ratio: 3 / 4;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #2A2168;
}
@media (max-width: 47.5rem) {
  .a-propos__portrait {
    align-self: stretch;
    aspect-ratio: auto;
    min-height: 13rem;
  }
}
.a-propos__visuels--3 .tuile-chiffre {
  padding: 1.125rem 1.25rem;
}
@media (max-width: 47.5rem) {
  .a-propos__visuels--3 .tuile-chiffre {
    padding: 1rem;
  }
}
.a-propos__visuels--3 .tuile-chiffre .tuile-chiffre__valeur {
  font-size: 2rem;
}
@media (max-width: 47.5rem) {
  .a-propos__visuels--3 .tuile-chiffre .tuile-chiffre__valeur {
    font-size: 1.625rem;
  }
}
.projets-slider__entete {
  padding-top: 6rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.projets-slider__entete .titre-l {
  max-width: 45rem;
}
@media (max-width: 47.5rem) {
  .projets-slider__entete {
    padding-top: 4.5rem;
  }
}
.projets-slider__rail {
  overflow: hidden;
  padding: 2.5rem 1.5rem 6rem;
  cursor: grab;
  touch-action: pan-y;
}
.projets-slider__rail.is-glisse {
  cursor: grabbing;
  user-select: none;
}
@media (max-width: 47.5rem) {
  .projets-slider__rail {
    padding-bottom: 4.5rem;
  }
}
.projets-slider__piste {
  display: flex;
  gap: 1rem;
  width: max-content;
  will-change: transform;
}
.fleches {
  display: flex;
  gap: 0.5rem;
}
.fleche {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.3125rem;
  background: #fff;
  color: #1C1456;
  cursor: pointer;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  transition: background 0.2s, color 0.2s;
}
.fleche:hover {
  background: #1C1456;
  color: #F9F9F1;
}
.carte-projet {
  flex: 0 0 min(23.75rem, 82vw);
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  background: #E9E7F2;
  overflow: hidden;
  color: #1C1456;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.carte-projet:hover {
  transform: translateY(-0.25rem);
  color: #1C1456;
}
.carte-projet__tags {
  padding: 0.875rem 1.125rem 0;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B6886;
}
.carte-projet__visuel {
  margin: 1.125rem;
  aspect-ratio: 16 / 10;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #fff;
}
.carte-projet__bas {
  padding: 0 1.125rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.carte-projet__nom {
  font-size: 1.375rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.carte-projet__voir {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B6886;
}
.derniers-articles {
  margin-bottom: 0.5rem;
}
.derniers-articles > .container {
  padding-top: 6rem;
  padding-bottom: 6.5rem;
}
.derniers-articles .titre-m {
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
}
.intro__inner {
  padding-top: 5.5rem;
  padding-bottom: 5.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.625rem;
}
@media (max-width: 47.5rem) {
  .intro__inner {
    padding-top: 3.5rem;
    padding-bottom: 4rem;
  }
}
.intro__texte {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: #B3AFD0;
  max-width: 38.75rem;
}
.intro__texte p + p {
  margin-top: 1em;
}
.ancres {
  width: 100%;
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));
  gap: 0.5rem;
}
.ancre {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
  padding: 1.125rem;
  border: 1px solid rgba(249, 249, 241, 0.14);
  border-radius: 0.5rem;
  color: #F9F9F1;
  transition: border-color 0.2s;
}
.ancre:hover {
  border-color: #EB9367;
  color: #F9F9F1;
}
.ancre__haut {
  display: flex;
  justify-content: space-between;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  color: #EB9367;
}
.ancre__titre {
  font-size: 1.0625rem;
  letter-spacing: -0.01em;
}
.portrait-texte__inner {
  padding-bottom: 7.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 4rem;
  align-items: start;
}
@media (max-width: 47.5rem) {
  .portrait-texte__inner {
    padding-bottom: 5rem;
    gap: 2.5rem;
  }
}
.portrait-texte__image {
  aspect-ratio: 4 / 5;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #2A2168;
}
.portrait-texte__texte {
  padding-top: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.625rem;
}
.portrait-texte__texte .boutons {
  margin-top: 0.375rem;
}
.citation {
  display: flex;
  gap: 1.125rem;
  padding-top: 1.625rem;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
}
.citation__ast {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.3125rem;
}
.citation p {
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.01em;
}
.cartes-atouts > .container {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.cartes-atouts__entete {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
  max-width: 47.5rem;
}
.cartes-atouts__grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
  gap: 1rem;
}
.carte-atout {
  min-height: 18.75rem;
  padding: 1.75rem;
  border-radius: 0.75rem;
  background: #E9E7F2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2.5rem;
}
.carte-atout__haut {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.carte-atout__num {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  color: #EB9367;
}
.carte-atout__valeur {
  font-size: 3.5rem;
  letter-spacing: -0.04em;
  line-height: 0.9;
}
.carte-atout__ast {
  width: 2.875rem;
  height: 2.875rem;
  animation: spin 14s linear infinite;
}
.carte-atout__bas {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.carte-atout--sombre {
  background: #1C1456;
  color: #F9F9F1;
}
.carte-atout--sombre .texte {
  color: #B3AFD0;
}
.chiffres > .container {
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
}
@media (max-width: 47.5rem) {
  .chiffres > .container {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}
.chiffres__grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.75rem), 1fr));
  border-top: 1px solid rgba(249, 249, 241, 0.14);
}
.chiffre {
  padding: 1.75rem 1.5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.chiffre__valeur {
  font-size: clamp(2.75rem, 5vw, 4.25rem);
  letter-spacing: -0.04em;
  line-height: 1;
}
.chiffre__label {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B3AFD0;
}
.cta {
  position: relative;
  overflow: hidden;
  margin: 0 0.5rem;
  border-radius: 1.75rem;
  background: #EB9367;
  color: #1C1456;
}
.cta__ast {
  position: absolute;
  right: -3.75rem;
  top: -3.75rem;
  width: 20rem;
  height: 20rem;
  background: #1C1456;
  opacity: 0.1;
  animation: spin 40s linear infinite;
}
.cta__inner {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
  gap: 3rem;
  align-items: end;
}
@media (max-width: 47.5rem) {
  .cta__inner {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
    gap: 2rem;
  }
}
.cta__droite {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
.cta__texte {
  font-size: 1rem;
  line-height: 1.6;
  color: #2A2168;
  max-width: 30rem;
}
.cta .orange {
  color: #F9F9F1;
}
.cta .btn--sombre:hover {
  background: #2A2168;
  color: #F9F9F1 !important;
}
@media (max-width: 47.5rem) {
  .cta {
    border-radius: 1.25rem;
  }
}
.parcours > .container {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
@media (max-width: 47.5rem) {
  .parcours > .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.parcours__gauche,
.parcours__droite {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}
.parcours__chiffres {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: 0.625rem;
}
.avis > .container {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media (max-width: 47.5rem) {
  .avis > .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.avis__entete {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.avis__titre {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
  max-width: 45rem;
}
.avis__note {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #B3AFD0;
}
.avis__colonnes {
  columns: 3 18.75rem;
  column-gap: 1rem;
}
.etoiles {
  display: flex;
  gap: 0.25rem;
}
.avis-carte {
  break-inside: avoid;
  margin: 0 0 1rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: #2A2168;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
.avis-carte blockquote {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #F9F9F1;
}
.avis-carte figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
}
.avis-carte__nom {
  font-size: 0.9375rem;
  font-weight: 500;
}
.avis-carte__lien {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #EB9367;
}
.avis-carte__lien:hover {
  color: #F9F9F1;
}
.expertise .colonne-fixe .texte {
  max-width: 33.75rem;
}
.expertise__citation {
  font-size: 1.375rem;
  line-height: 1.45;
  letter-spacing: -0.015em;
  padding-left: 1.125rem;
  border-left: 2px solid #EB9367;
  max-width: 33.75rem;
}
.expertise__droite {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.autres-terrains > .container {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media (max-width: 47.5rem) {
  .autres-terrains > .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.autres-terrains__gauche,
.autres-terrains__droite {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}
.autres-terrains__droite {
  gap: 1.25rem;
}
.liste-ast {
  list-style: none;
  margin: 0;
  padding: 0;
}
.liste-ast li {
  display: flex;
  gap: 1rem;
  padding: 1.25rem 0;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
}
.liste-ast li:last-child {
  border-bottom: 1px solid rgba(249, 249, 241, 0.14);
}
.liste-ast li .ast {
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 0.3125rem;
}
.liste-ast li p {
  font-size: 1rem;
  line-height: 1.6;
  color: #B3AFD0;
}
.liste-ast li strong {
  font-weight: 500;
  color: #F9F9F1;
}
.encadre {
  margin-top: 0.5rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: #2A2168;
  font-size: 1.0625rem;
  line-height: 1.55;
}
.references > .container {
  padding-top: 2.5rem;
}
.references__inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.grille-references {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 28.75rem), 1fr));
  gap: 1rem;
}
.carte-reference {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  padding: 1.125rem;
  border-radius: 0.75rem;
  background: #E9E7F2;
  color: #1C1456;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.carte-reference:hover {
  transform: translateY(-0.25rem);
  color: #1C1456;
}
.carte-reference:hover .rond-fleche {
  transform: rotate(-45deg);
}
.carte-reference.is-cache {
  display: none;
}
.carte-reference__haut {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B6886;
}
.carte-reference__haut span:last-child {
  text-align: right;
}
.carte-reference__visuel {
  aspect-ratio: 16 / 10;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #fff;
}
.carte-reference__bas {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.carte-reference__nom {
  font-size: clamp(1.375rem, 2.4vw, 1.875rem);
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.projet-intro .intro__inner {
  padding-bottom: 0;
}
.projet-intro__titre {
  font-size: clamp(3.5rem, 10vw, 9rem);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 400;
}
.projet-intro__accroche {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
}
.projet-intro__infos {
  width: 100%;
  margin-top: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
}
.projet-intro__fenetre {
  width: 100%;
  margin-top: 1.5rem;
}
.info {
  flex: 1 1 12.5rem;
  padding: 1.25rem 1.5rem 1.25rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.info__valeur {
  font-size: 1.0625rem;
}
.info--bouton {
  flex-direction: row;
  align-items: center;
  padding-right: 0;
}
.projet-contenu__textes {
  display: flex;
  flex-direction: column;
}
.projet-contenu .ligne-texte {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 4rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(28, 20, 86, 0.12);
}
.projet-contenu .ligne-texte:last-child {
  border-bottom: 1px solid rgba(28, 20, 86, 0.12);
}
.projet-contenu .ligne-texte .numero-section {
  flex: 1 1 13.75rem;
  align-self: flex-start;
}
.projet-contenu .ligne-texte__texte {
  flex: 2 1 30rem;
  min-width: 0;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: #3F3A6E;
}
.projet-contenu .ligne-texte__texte p + p {
  margin-top: 1em;
}
.projet-contenu .ligne-texte__texte--grand {
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  line-height: 1.45;
  letter-spacing: -0.015em;
  color: #1C1456;
}
.galerie-projet {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 47.5rem) {
  .galerie-projet {
    grid-template-columns: minmax(0, 1fr);
  }
}
.galerie-projet__image {
  aspect-ratio: 16 / 10;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #E9E7F2;
}
.galerie-projet__image--large {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 8;
}
.projet-suivant > .container {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.projet-suivant__lien {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(249, 249, 241, 0.14);
  color: #F9F9F1;
}
.projet-suivant__lien:hover .rond-fleche {
  transform: translateX(0.375rem);
}
.projet-suivant__texte {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.projet-suivant__nom {
  font-size: clamp(2.75rem, 7vw, 6.5rem);
  line-height: 0.95;
  letter-spacing: -0.045em;
}
.contact__inner {
  padding-top: 5.5rem;
  padding-bottom: 7.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  align-items: flex-start;
}
@media (max-width: 47.5rem) {
  .contact__inner {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
    gap: 2.5rem;
  }
}
.contact__gauche {
  flex: 1 1 23.75rem;
  min-width: 0;
  position: sticky;
  top: 6.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.625rem;
}
.contact__gauche .titre-xl {
  font-size: clamp(2.75rem, 6.6vw, 5.5rem);
  line-height: 1;
}
@media (max-width: 47.5rem) {
  .contact__gauche {
    position: static;
  }
}
.contact__mention {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
}
.contact__mention .ast {
  width: 1rem;
  height: 1rem;
}
.contact__coordonnees {
  width: 100%;
  margin-top: 0.75rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));
  gap: 0.5rem;
}
.contact__carte {
  flex: 1 1 27.5rem;
  min-width: 0;
  padding: clamp(1.5rem, 3.4vw, 2.75rem);
  border-radius: 1rem;
  background: #F9F9F1;
  color: #1C1456;
}
.contact__merci {
  min-height: 26.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.375rem;
}
.contact__merci .texte {
  color: #3F3A6E;
}
.contact__merci-ast {
  width: 3.5rem;
  height: 3.5rem;
  animation: spin 14s linear infinite;
}
.tuile-lien {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding: 1.125rem;
  border: 1px solid rgba(249, 249, 241, 0.14);
  border-radius: 0.5rem;
  color: #F9F9F1;
  transition: border-color 0.2s;
}
.tuile-lien:hover {
  border-color: #EB9367;
  color: #F9F9F1;
}
.tuile-lien span:last-child {
  font-size: 1rem;
  word-break: break-word;
}
.formulaire {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}
.formulaire__entete {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid rgba(28, 20, 86, 0.12);
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6B6886;
}
.formulaire__alerte {
  padding: 0.75rem 0.875rem;
  border-radius: 0.375rem;
  background: rgba(235, 147, 103, 0.18);
  font-size: 0.875rem;
  line-height: 1.5;
}
.formulaire__envoyer {
  align-self: flex-start;
  border: 0;
}
.champ {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.champ__label {
  padding: 0;
  font-size: 0.875rem;
  font-weight: 500;
}
legend.champ__label,
.champ legend.champ__label {
  margin-bottom: 0.625rem;
}
.champ input,
.champ textarea {
  width: 100%;
  padding: 0.875rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  background: #fff;
  color: #1C1456;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.champ input::placeholder,
.champ textarea::placeholder {
  color: #9A97B5;
}
.champ input:focus,
.champ textarea:focus {
  border-color: #1C1456;
  box-shadow: 0 0 0 0.1875rem rgba(235, 147, 103, 0.35);
}
.champ textarea {
  resize: vertical;
  min-height: 8.75rem;
}
.choix {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.choix__option {
  position: relative;
}
.choix__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.choix__option span {
  display: inline-flex;
  padding: 0.625rem 0.875rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  background: #fff;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.choix__option input:checked + span {
  background: #1C1456;
  border-color: #1C1456;
  color: #F9F9F1;
}
.choix__option input:focus-visible + span {
  outline: 2px solid #EB9367;
  outline-offset: 2px;
}
.champ-cache {
  position: absolute !important;
  left: -624.9375rem;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.blog > .container {
  padding-top: 2.5rem;
}
.blog__inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.blog__inner > .barre-filtres {
  margin-bottom: 1rem;
}
.blog__vide {
  padding: 3rem 0;
  color: #3F3A6E;
}
.pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
}
.pagination:empty {
  display: none;
}
.pagination .page-numbers {
  min-width: 2.5rem;
  padding: 0.625rem 0.875rem;
  border-radius: 0.3125rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  background: #fff;
  color: #1C1456;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  text-align: center;
}
.pagination .page-numbers.current {
  background: #1C1456;
  border-color: #1C1456;
  color: #F9F9F1;
}
.article__intro .intro__inner {
  padding-bottom: 4rem;
}
.article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B3AFD0;
}
.article__meta .etiquette--orange {
  border-color: rgba(235, 147, 103, 0.5);
  color: #EB9367;
}
.article__meta .etiquette--orange:hover {
  background: #EB9367;
  color: #1C1456;
}
.article__titre {
  font-size: clamp(2.25rem, 5.4vw, 4.5rem);
  max-width: 61.25rem;
}
.article__chapeau {
  max-width: 46rem;
}
.article__visuel {
  aspect-ratio: 16 / 9;
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 3rem;
  background: #F9F9F1;
}
.article__corps > .container {
  padding-top: 5rem;
  padding-bottom: 6rem;
}
@media (max-width: 47.5rem) {
  .article__corps > .container {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
}
.article__grille {
  display: grid;
  grid-template-columns: minmax(0, 46rem) 17.5rem;
  justify-content: center;
  gap: 4.5rem;
  align-items: start;
}
.article__grille--seule {
  grid-template-columns: minmax(0, 46rem);
}
@media (max-width: 64rem) {
  .article__grille {
    grid-template-columns: minmax(0, 46rem);
  }
}
.article__aside {
  position: sticky;
  top: 6.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 64rem) {
  .article__aside {
    display: none;
  }
}
.article__retour {
  margin-top: 2rem;
}
.article__retour .btn--texte {
  color: #1C1456;
}
.article__retour .btn--texte:hover {
  color: #EB9367;
}
.sommaire {
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #fff;
  overflow: hidden;
}
.sommaire__entete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1.125rem;
  background: #1C1456;
  color: #F9F9F1;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sommaire__liste {
  margin: 0;
  padding: 0.5rem;
  list-style: none;
}
.sommaire__liste a {
  display: flex;
  gap: 0.75rem;
  padding: 0.5rem 0.625rem;
  border-radius: 0.375rem;
  color: #3F3A6E;
  font-size: 0.875rem;
  line-height: 1.4;
  transition: background 0.2s, color 0.2s;
}
.sommaire__liste a::before {
  content: '';
  flex: none;
  width: 0.375rem;
  height: 0.375rem;
  margin-top: 0.4375rem;
  border-radius: 50%;
  border: 1.5px solid #6B6886;
  transition: background 0.2s, border-color 0.2s;
}
.sommaire__liste a:hover {
  background: #F9F9F1;
  color: #1C1456;
}
.sommaire__liste a.is-actif {
  background: #E9E7F2;
  color: #1C1456;
  font-weight: 500;
}
.sommaire__liste a.is-actif::before {
  border-color: #EB9367;
  background: #EB9367;
}
.sommaire__pied {
  margin: 0;
  padding: 0.75rem 1.125rem;
  border-top: 1px solid rgba(28, 20, 86, 0.12);
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B6886;
}
.sommaire--mobile {
  display: none;
  margin-bottom: 2.5rem;
}
@media (max-width: 64rem) {
  .sommaire--mobile {
    display: block;
  }
}
.sommaire--mobile summary {
  cursor: pointer;
  list-style: none;
}
.sommaire--mobile summary::-webkit-details-marker {
  display: none;
}
.sommaire--mobile .sommaire__fleche {
  width: 0.5rem;
  height: 0.5rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-0.125rem);
  transition: transform 0.25s;
}
.sommaire--mobile[open] .sommaire__fleche {
  transform: rotate(-135deg) translateY(-0.125rem);
}
.aside-cta {
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: #1C1456;
  color: #F9F9F1;
}
.aside-cta__titre {
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}
.aside-cta__texte {
  margin: 0.5rem 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #B3AFD0;
}
.auteur {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 4rem;
  padding: 1.5rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #fff;
}
@media (max-width: 47.5rem) {
  .auteur {
    flex-wrap: wrap;
  }
}
.auteur__photo {
  flex: none;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  object-fit: cover;
}
.auteur__texte {
  flex: 1 1 16rem;
}
.auteur__surtitre {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B6886;
}
.auteur__nom {
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: #1C1456;
}
.auteur__bio {
  margin-top: 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #3F3A6E;
}
.contenu-article {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #3F3A6E;
}
.contenu-article > * + * {
  margin-top: 1.25em;
}
.contenu-article > :first-child {
  margin-top: 0;
}
.contenu-article h2 {
  margin-top: 2.6em;
  font-size: clamp(1.625rem, 3vw, 2.125rem);
  line-height: 1.2;
  letter-spacing: -0.025em;
  font-weight: 400;
  color: #1C1456;
  scroll-margin-top: 6.5rem;
}
.contenu-article h3 {
  margin-top: 2em;
  font-size: 1.3125rem;
  line-height: 1.3;
  font-weight: 500;
  color: #1C1456;
  scroll-margin-top: 6.5rem;
}
.contenu-article h2 + *,
.contenu-article h3 + * {
  margin-top: 0.75em;
}
.contenu-article strong {
  font-weight: 600;
  color: #1C1456;
}
.contenu-article a {
  color: #1C1456;
  text-decoration: underline;
  text-decoration-color: #EB9367;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.1875rem;
}
.contenu-article a:hover {
  color: #EB9367;
}
.contenu-article ul,
.contenu-article ol {
  padding-left: 1.4em;
}
.contenu-article ul li + li,
.contenu-article ol li + li {
  margin-top: 0.5em;
}
.contenu-article ul {
  list-style: none;
  padding-left: 0;
}
.contenu-article ul > li {
  position: relative;
  padding-left: 1.5em;
}
.contenu-article ul > li::before {
  content: '';
  position: absolute;
  left: 0.15em;
  top: 0.62em;
  width: 0.55em;
  height: 0.55em;
  background: #EB9367;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(60 12 12)'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(120 12 12)'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(60 12 12)'/%3E%3Crect x='10.4' y='1' width='3.2' height='22' rx='1.6' transform='rotate(120 12 12)'/%3E%3C/svg%3E") center / contain no-repeat;
}
.contenu-article li::marker {
  color: #EB9367;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 500;
}
.contenu-article .wp-block-image {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}
.contenu-article .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
}
.contenu-article figcaption,
.contenu-article .wp-element-caption {
  margin-top: 0.75rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #6B6886;
  text-align: left;
}
.contenu-article > blockquote,
.contenu-article .wp-block-quote {
  margin-left: 0;
  margin-right: 0;
  padding-left: 1.5rem;
  border-left: 3px solid #EB9367;
  font-size: 1.25rem;
  line-height: 1.55;
  color: #1C1456;
}
.contenu-article > blockquote cite,
.contenu-article .wp-block-quote cite {
  display: block;
  margin-top: 0.75rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  font-style: normal;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B6886;
}
.contenu-article .wp-block-table {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
  overflow-x: auto;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #fff;
}
.contenu-article .wp-block-table table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.contenu-article .wp-block-table th,
.contenu-article .wp-block-table td {
  padding: 0.875rem 1rem;
  border: 0;
  border-bottom: 1px solid rgba(28, 20, 86, 0.12);
  text-align: left;
  vertical-align: top;
}
.contenu-article .wp-block-table thead th {
  background: #1C1456;
  color: #F9F9F1;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.contenu-article .wp-block-table tbody tr:last-child td {
  border-bottom: 0;
}
.contenu-article .wp-block-table tbody td:first-child {
  font-weight: 600;
  color: #1C1456;
}
.contenu-article .wp-block-table figcaption {
  margin: 0;
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(28, 20, 86, 0.12);
}
.essentiel {
  margin-top: 2rem;
  margin-bottom: 2.5rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #fff;
  overflow: hidden;
}
.essentiel__entete {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1.25rem;
  background: #1C1456;
  color: #F9F9F1;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.essentiel__ast {
  width: 0.75rem;
  height: 0.75rem;
}
.contenu-article .essentiel__liste,
.essentiel__liste {
  margin: 0;
  padding: 1.25rem;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.essentiel__point {
  display: flex;
  gap: 0.875rem;
  margin: 0 !important;
  font-size: 1rem;
  line-height: 1.6;
}
.essentiel__point p {
  margin: 0;
}
.essentiel__num {
  flex: none;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: #EB9367;
  color: #1C1456;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.8125rem;
  font-weight: 600;
}
.fourchettes {
  margin: 2.5em 0;
}
.fourchettes__haut {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 1rem;
}
.fourchettes__surtitre {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6B6886;
}
.fourchettes__titre {
  font-size: 1.25rem;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: #1C1456;
}
.fourchettes__carte {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #fff;
}
@media (max-width: 47.5rem) {
  .fourchettes__carte {
    padding: 1.125rem;
  }
}
.fourchettes__echelle {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0.75rem;
  border-bottom: 1px dashed rgba(28, 20, 86, 0.12);
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  color: #6B6886;
}
.fourchettes__legende {
  margin-top: 0.75rem;
}
.fourchette {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.fourchette__haut {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.25rem 1rem;
  flex-wrap: wrap;
  font-size: 0.9375rem;
  line-height: 1.4;
}
.fourchette__libelle {
  font-weight: 500;
  color: #1C1456;
}
.fourchette__valeur {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.8125rem;
  color: #3F3A6E;
  white-space: nowrap;
}
.fourchette__piste {
  position: relative;
  height: 0.75rem;
  border-radius: 1rem;
  background: #E9E7F2;
}
.fourchette__barre {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--debut);
  width: calc(var(--fin) - var(--debut));
  min-width: 0.75rem;
  border-radius: 1rem;
  background: #1C1456;
}
.fourchette.is-accent .fourchette__barre {
  background: #EB9367;
}
.fourchette.is-accent .fourchette__valeur {
  color: #1C1456;
  font-weight: 600;
}
.citation-article {
  margin: 2.5em 0;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #F9F9F1;
  overflow: hidden;
  box-shadow: 0 0 0 0.375rem #fff inset;
}
.citation-article__entete {
  padding: 0.75rem 1.25rem;
  background: #EB9367;
  color: #1C1456;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.citation-article__texte {
  position: relative;
  margin: 0;
  padding: 1.75rem 1.5rem 0 3.75rem;
  border: 0;
  font-size: clamp(1.1875rem, 2.2vw, 1.375rem);
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: #1C1456;
}
.citation-article__texte::before {
  content: '“';
  position: absolute;
  left: 1.25rem;
  top: 1.125rem;
  font-size: 3.5rem;
  line-height: 1;
  color: #EB9367;
}
.citation-article__texte p {
  margin: 0;
}
@media (max-width: 47.5rem) {
  .citation-article__texte {
    padding-left: 1.25rem;
    padding-top: 3.25rem;
  }
}
.citation-article__auteur {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin: 0;
  padding: 1.25rem 1.5rem 1.5rem 3.75rem;
  font-family: "Geist", system-ui, -apple-system, sans-serif;
  font-size: 0.9375rem;
  letter-spacing: 0;
  color: #1C1456;
}
.citation-article__auteur > span {
  display: flex;
  flex-direction: column;
}
@media (max-width: 47.5rem) {
  .citation-article__auteur {
    padding-left: 1.25rem;
  }
}
.citation-article__photo {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  object-fit: cover;
  border: 0 !important;
}
.citation-article__role {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B6886;
}
.encadre {
  display: flex;
  gap: 1rem;
  margin: 2em 0;
  padding: 1.25rem 1.5rem;
  border-radius: 0.75rem;
  background: #E9E7F2;
  font-size: 1rem;
  line-height: 1.65;
}
.encadre__icone {
  flex: none;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #1C1456;
  color: #EB9367;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 700;
}
.encadre__icone .ast {
  width: 0.875rem;
  height: 0.875rem;
}
.encadre__corps p {
  margin: 0;
}
.encadre__corps p + p {
  margin-top: 0.75em;
}
.contenu-article .encadre__titre,
.encadre__titre {
  margin-bottom: 0.25rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1C1456;
}
.encadre--attention {
  background: #FBE7DC;
}
.encadre--attention .encadre__icone {
  background: #EB9367;
  color: #1C1456;
}
.encadre--retenir {
  background: #fff;
  border: 1px solid rgba(28, 20, 86, 0.12);
}
.faq-article {
  margin-top: 3.5em;
}
.contenu-article .faq-article__surtitre,
.faq-article__surtitre {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6B6886;
}
.contenu-article .faq-article__titre {
  margin-top: 0.25rem;
}
.faq-article__liste {
  margin-top: 1.5rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  border-radius: 0.75rem;
  background: #fff;
  overflow: hidden;
}
.faq-item {
  border-bottom: 1px solid rgba(28, 20, 86, 0.12);
}
.faq-item:last-child {
  border-bottom: 0;
}
.faq-item__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.125rem 1.25rem;
  cursor: pointer;
  list-style: none;
  font-weight: 500;
  line-height: 1.45;
  color: #1C1456;
  transition: background 0.2s;
}
.faq-item__question::-webkit-details-marker {
  display: none;
}
.faq-item__question:hover {
  background: #F9F9F1;
}
.faq-item__icone {
  position: relative;
  flex: none;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: #E9E7F2;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), background 0.2s;
}
.faq-item__icone::before,
.faq-item__icone::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.75rem;
  height: 1.5px;
  background: #1C1456;
  transform: translate(-50%, -50%);
}
.faq-item__icone::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq-item[open] .faq-item__icone {
  background: #EB9367;
  transform: rotate(45deg);
}
.faq-item__reponse {
  padding: 0 1.25rem 1.25rem;
  font-size: 1rem;
  line-height: 1.65;
}
.faq-item__reponse p + p {
  margin-top: 0.75em;
}
.articles-suite > .container {
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
}
.page-404 .intro__inner {
  position: relative;
  min-height: 62vh;
  justify-content: center;
}
.page-404__ast {
  position: absolute;
  right: 1.5rem;
  top: 18%;
  width: min(28vw, 16.25rem);
  height: min(28vw, 16.25rem);
  opacity: 0.9;
  animation: spin 30s linear infinite;
  z-index: -1;
}
@media (max-width: 47.5rem) {
  .page-404__ast {
    top: 2.5rem;
    width: 4.5rem;
    height: 4.5rem;
  }
}
.diag {
  position: relative;
  width: 22.5rem;
  max-width: 100%;
  color: #1C1456;
}
.diag-frame {
  width: 100%;
  background: #fff;
  border-radius: 0.625rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  overflow: hidden;
}
.diag-frame__barre {
  display: flex;
  gap: 0.3125rem;
  padding: 0.5rem 0.625rem;
  border-bottom: 1px solid rgba(28, 20, 86, 0.1);
}
.diag-frame__barre i {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 0.25rem;
  background: #1C1456;
  opacity: 0.2;
}
.diag-barre {
  display: block;
  height: var(--hb, 0.5rem);
  width: var(--w, 100%);
  border-radius: 0.25rem;
  background: #1C1456;
  opacity: var(--o, 0.18);
}
.diag-proto {
  padding: 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}
.diag-proto__case {
  height: var(--h);
  border-radius: 0.375rem;
  border: 1.5px dashed rgba(28, 20, 86, 0.45);
  background: rgba(28, 20, 86, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: appear 5s ease-in-out calc(var(--d) * 0.45s) infinite;
}
.diag-proto__case--large {
  grid-column: span 2;
}
.diag--ux {
  height: 12.5rem;
}
.diag-ux {
  padding: 1.125rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.diag-ux__ligne {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 0.375rem;
}
.diag-ux__bouton {
  padding: 0.5625rem 0.875rem;
  border-radius: 0.3125rem;
  background: #1C1456;
  color: #F9F9F1;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  animation: press 5s ease-in-out infinite;
}
.diag-ux__pastille {
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 0.5625rem;
  animation: swatch 5s steps(1) calc(var(--d) * -1.6s) infinite;
}
.diag-ux__curseur {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 0.5625rem;
  border: 2px solid #EB9367;
  background: rgba(235, 147, 103, 0.35);
  pointer-events: none;
  animation: cursor 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.diag-code {
  background: #1C1456;
  border-radius: 0.625rem;
  padding: 0.875rem 1rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.6875rem;
  color: #B3AFD0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.diag-code__entete {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.25rem;
}
.diag-code__ligne {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.diag-code__num {
  width: 0.875rem;
  opacity: 0.4;
}
.diag-code__barre {
  height: 0.5rem;
  width: var(--w);
  border-radius: 0.25rem;
  transform-origin: left;
  animation: typeIn 6s ease-in-out calc(var(--d) * 0.35s) infinite;
}
.diag-code__barre--o {
  background: #EB9367;
  opacity: 0.9;
}
.diag-code__barre--b {
  background: #1C1456;
  border: 1px solid #4A4190;
}
.diag-code__prompt {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.25rem;
}
.diag-code__curseur {
  width: 0.4375rem;
  height: 0.75rem;
  background: #F9F9F1;
  animation: blink 1s steps(1) infinite;
}
.diag--responsive {
  width: 100%;
  display: flex;
  justify-content: center;
}
.diag-resp {
  width: 100%;
  max-width: 26.25rem;
  min-width: 6.875rem;
  animation: resize 8s ease-in-out infinite;
}
.diag-resp__grille {
  padding: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.diag-resp__plein {
  width: 100%;
}
.diag-resp__case {
  flex: 1 1 5.375rem;
  height: 3.375rem;
  border-radius: 0.375rem;
  background: rgba(28, 20, 86, 0.1);
}
.diag-resp__case--orange {
  background: #EB9367;
}
.diag--logo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.diag-logo__piste {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #fff;
  border-radius: 0.625rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pick 8s ease-in-out calc(var(--d) * 2s) infinite;
}
.diag-logo__label {
  position: absolute;
  left: 0.625rem;
  top: 0.5rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.5625rem;
  letter-spacing: 0.08em;
  color: rgba(28, 20, 86, 0.5);
}
.diag-logo__forme {
  display: block;
}
.diag-logo__forme--rond {
  width: 2.875rem;
  height: 2.875rem;
  border-radius: 50%;
  border: 0.5rem solid #1C1456;
}
.diag-logo__forme--losange {
  width: 2.125rem;
  height: 2.125rem;
  background: #1C1456;
  border-radius: 0.25rem;
  transform: rotate(45deg);
}
.diag-logo__forme--arche {
  width: 3.25rem;
  height: 1.625rem;
  background: #1C1456;
  border-radius: 3.25rem 3.25rem 0 0;
}
.diag-logo__forme--etoile {
  width: 2.875rem;
  height: 2.875rem;
  background: #1C1456;
}
.diag-charte {
  background: #fff;
  border-radius: 0.625rem;
  border: 1px solid rgba(28, 20, 86, 0.12);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.diag-charte__entete {
  display: flex;
  justify-content: space-between;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  color: rgba(28, 20, 86, 0.55);
}
.diag-charte__nuancier {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}
.diag-charte__couleur {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.5625rem;
  color: #1C1456;
}
.diag-charte__pastille {
  height: 3.5rem;
  border-radius: 0.375rem;
  background: var(--c);
  border: 1px solid rgba(28, 20, 86, 0.12);
  transform-origin: bottom;
  animation: grow 6s ease-in-out calc(var(--d) * 0.3s) infinite;
}
.diag-charte__typo {
  display: flex;
  align-items: flex-end;
  gap: 0.875rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(28, 20, 86, 0.1);
}
.diag-charte__aa {
  font-size: 2.875rem;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #1C1456;
}
.diag-charte__lignes {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.diag-charte__nom {
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.5625rem;
  color: rgba(28, 20, 86, 0.55);
}
.diag-wiki {
  display: flex;
  min-height: 10.625rem;
}
.diag-wiki__menu {
  width: 6.25rem;
  background: #1C1456;
  padding: 0.75rem 0.625rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.diag-wiki__menu span {
  height: 0.4375rem;
  width: var(--w);
  border-radius: 0.25rem;
  background: #F9F9F1;
  opacity: 0.25;
}
.diag-wiki__onglet {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.4375rem;
  border-radius: 0.25rem;
  background: #EB9367;
  color: #1C1456;
  font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.5625rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  animation: pulse 3s ease-in-out infinite;
}
.diag-wiki__onglet .ast {
  width: 0.5625rem;
  height: 0.5625rem;
  background: #1C1456;
}
.diag-wiki__page {
  flex: 1;
  padding: 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.diag-wiki__blocs {
  margin-top: 0.25rem;
  display: flex;
  gap: 0.5rem;
}
.diag-wiki__blocs span {
  flex: 1;
  height: 2.75rem;
  border-radius: 0.375rem;
}
.diag-wiki__blocs span:first-child {
  background: rgba(28, 20, 86, 0.05);
  border: 1.5px dashed rgba(28, 20, 86, 0.3);
}
.diag-wiki__blocs span:last-child {
  background: rgba(235, 147, 103, 0.3);
}
