@charset "UTF-8";
/* --- Font ---*/
/* --- Color ---*/
/* --- Radius ---*/
/* --- Fontsize ---*/
/* --- Fontweight ---*/
/* --- Layout : marges latérales de page --- */
/* --- Layout : header sticky --- */
/* --- Gap --- */
/* --- Animation ---*/
@keyframes s4-scroll-down-move {
  0% {
    transform: translateY(-120%);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(200%);
    opacity: 0;
  }
}
@keyframes scroll-infinite {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ss-marquee__track {
    animation: none;
  }
}
/* --- Responsive ---*/
/* ---- FLEXBOX PROPERTY ---- */
/* ----------- RL ----------- */
/* ---- GRID PROPERTY ---- */
/* ---- PROPERTY ---- */
/* ---- MASK ---- */
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
.material-icons {
  font-style: normal;
}
* {
  outline: none;
}
/* ==========================================================================
   Header
   Desktop : logo centré, nav centrée dessous (item actif souligné violet).
   ≤ 991px : logo à gauche, bouton burger à droite, nav dépliée en colonne
   sous la ligne du logo — voir responsive.scss.
   ========================================================================== */
.site-header {
  padding: 20px var(--page-px) 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: start;
  justify-content: start;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -moz-box-direction: normal;
  -moz-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  grid-gap: 20px;
  gap: 20px;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
}
.site-header__top {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -moz-box-direction: normal;
  -moz-box-orient: horizontal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  grid-gap: 51px;
  gap: 51px;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
}
.site-header__brand {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -moz-box-direction: normal;
  -moz-box-orient: horizontal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  grid-gap: 5px;
  gap: 5px;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: none;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #E5BF6D;
}
.site-header__logo {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
.site-header__name {
  font-family: "Maitree", Georgia, serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 53px;
  white-space: nowrap;
}
.site-header__toggle {
  display: none;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  background: none;
  color: #FFFFFF;
  cursor: pointer;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.site-header__icon {
  display: block;
}
.site-header__icon--close {
  display: none;
}
.site-header.is-open .site-header__icon--open {
  display: none;
}
.site-header.is-open .site-header__icon--close {
  display: block;
}
.site-nav__list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -moz-box-direction: normal;
  -moz-box-orient: horizontal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  grid-gap: 20px;
  gap: 20px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.site-nav li {
  margin: 0;
}
.site-nav a {
  display: block;
  padding: 6px 15px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 16px;
  line-height: 19px;
  text-transform: uppercase;
  text-decoration: none;
  color: #D1D1D1;
  border-bottom: 1px solid transparent;
  -webkit-transition: color 0.2s ease, border-color 0.2s ease;
  -moz-transition: color 0.2s ease, border-color 0.2s ease;
  -ms-transition: color 0.2s ease, border-color 0.2s ease;
  -o-transition: color 0.2s ease, border-color 0.2s ease;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.site-nav a:hover, .site-nav a:focus-visible {
  color: #FFFFFF;
}
.site-nav .current-menu-item > a, .site-nav .current_page_parent > a {
  border-bottom-color: #6731A8;
}
:root {
  --font-maitree: Maitree, Georgia, serif;
  --font-inter: Inter, system-ui, sans-serif;
  --font-open-sans: Open Sans, system-ui, sans-serif;
  --font-default: Inter, system-ui, sans-serif;
  --font-title: Maitree, Georgia, serif;
  --bg: #07070B;
  --surface: #110D1A;
  --surface-event: #1E0C36;
  --overlay: rgba(17, 13, 26, 0.8);
  --purple: #6731A8;
  --purple-light: #8A38F5;
  --gold: #E5BF6D;
  --white: #FFFFFF;
  --gray1: #EDEDED;
  --gray2: #D1D1D1;
  --gray3: #757575;
  --gray4: #444444;
  --border: #262532;
  --border-input: #73767F;
  --logo-red: #C82026;
  --logo-cream: #F4E8D0;
  --radius-card: 15px;
  --radius-event: 20px;
  --radius-input: 8px;
  --radius-thumb: 5px;
  --radius-pill: 50px;
  --page-px: 6.25vw;
  --gap350-200: clamp(200px, 18vw, 350px);
  --gap300-100: clamp(100px, 15vw, 300px);
  --gap200-100: clamp(100px, 10vw, 200px);
  --gap200-80: clamp(80px, 10vw, 200px);
  --gap200-60: clamp(60px, 10vw, 200px);
  --gap200-40: clamp(40px, 8vw, 200px);
  --gap200-20: clamp(20px, 5vw, 200px);
  --gap180-80: clamp(80px, 9vw, 180px);
  --gap180-60: clamp(60px, 9vw, 180px);
  --gap180-40: clamp(40px, 8vw, 180px);
  --gap180-20: clamp(20px, 5vw, 180px);
  --gap160-80: clamp(80px, 8vw, 160px);
  --gap160-60: clamp(60px, 8vw, 160px);
  --gap160-40: clamp(40px, 8vw, 160px);
  --gap160-20: clamp(20px, 5vw, 160px);
  --gap140-80: clamp(80px, 7vw, 140px);
  --gap140-60: clamp(60px, 7vw, 140px);
  --gap140-40: clamp(40px, 7vw, 140px);
  --gap140-20: clamp(20px, 5vw, 140px);
  --gap120-80: clamp(80px, 6vw, 120px);
  --gap120-60: clamp(60px, 6vw, 120px);
  --gap120-40: clamp(40px, 6vw, 120px);
  --gap120-20: clamp(20px, 5vw, 120px);
  --gap100-80: clamp(80px, 5vw, 100px);
  --gap100-60: clamp(60px, 5vw, 100px);
  --gap100-40: clamp(40px, 5vw, 100px);
  --gap100-20: clamp(20px, 5vw, 100px);
  --gap80-60: clamp(60px, 4vw, 80px);
  --gap80-40: clamp(40px, 4vw, 80px);
  --gap80-30: clamp(30px, 4vw, 80px);
  --gap80-20: clamp(20px, 4vw, 80px);
  --gap60-40: clamp(40px, 3vw, 60px);
  --gap60-30: clamp(30px, 3vw, 60px);
  --gap60-20: clamp(20px, 3vw, 60px);
  --gap40-30: clamp(30px, 2vw, 40px);
  --gap40-20: clamp(20px, 2vw, 40px);
  --gap40-15: clamp(15px, 2vw, 40px);
  --gap30-20: clamp(20px, 2vw, 30px);
  --gap30-15: clamp(15px, 2vw, 30px);
  --fs-min: max(0.7rem, 11px);
  --fs-xxs: max(0.8rem, 13px);
  --fs-xs: max(0.9rem, 14px);
  --fs-sx: max(0.95rem, 14px);
  --fs-s: max(1rem, 15px);
  --fs-s1: max(1.08rem, 16px);
  --fs-regu: max(1.15rem, 16px);
  --fs-regu2: max(1.4rem, 18px);
  --fs-m: 1.75rem;
  --fs-m2: 2rem;
  --fs-m3: 2.25rem;
  --fs-m4: 2.5rem;
  --fs-l: 2.65rem;
  --fs-l2: 3rem;
  --fs-xl: 3.5rem;
  --fs-xl2: 4rem;
  --fs-xxl: 4.5rem;
  --fs-xxl2: 6rem;
  --fs-big: 7.5rem;
  --fs-xBig: 13rem;
}
html {
  font-size: 17px;
  scroll-behavior: smooth;
}
body {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 400;
  background-color: #07070B;
  color: #D1D1D1;
  position: relative;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Maitree", Georgia, serif;
  font-weight: 500;
}
main {
  overflow: clip;
  margin-bottom: auto;
}
main#page404 {
  min-height: 100svh;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding-left: 40px;
  padding-right: 40px;
}
main#page404 .content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  grid-gap: 50px;
  gap: 50px;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -moz-box-direction: normal;
  -moz-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  text-align: center;
}
main#page404 .content .number {
  font-size: 8rem;
}
