.elementor-4640 .elementor-element.elementor-element-46df235{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4640 .elementor-element.elementor-element-46df235:not(.elementor-motion-effects-element-type-background), .elementor-4640 .elementor-element.elementor-element-46df235 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04040B;background-image:url("https://sibyllasc.fr/wp-content/uploads/2025/09/Sans-titre-1-copie-2.webp");background-repeat:no-repeat;}.elementor-4640 .elementor-element.elementor-element-64b6b7a{--display:flex;}.elementor-4640 .elementor-element.elementor-element-7902522{--spacer-size:350px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-4640 .elementor-element.elementor-element-62d222a .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-6549bd5{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:1px 1px;--row-gap:1px;--column-gap:1px;--grid-auto-flow:row;--justify-items:center;--align-items:center;}.elementor-widget-divider .elementor-divider__text{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-4640 .elementor-element.elementor-element-687852e{--divider-border-style:solid;--divider-color:#FCDC7B;--divider-border-width:1px;}.elementor-4640 .elementor-element.elementor-element-687852e .elementor-divider-separator{width:50%;margin:0 auto;margin-center:0;}.elementor-4640 .elementor-element.elementor-element-687852e .elementor-divider{text-align:center;padding-block-start:10px;padding-block-end:10px;}.elementor-4640 .elementor-element.elementor-element-8c32eba{--divider-border-style:solid;--divider-color:#FCDC7B;--divider-border-width:1px;}.elementor-4640 .elementor-element.elementor-element-8c32eba .elementor-divider-separator{width:50%;margin:0 auto;margin-center:0;}.elementor-4640 .elementor-element.elementor-element-8c32eba .elementor-divider{text-align:center;padding-block-start:10px;padding-block-end:10px;}.elementor-4640 .elementor-element.elementor-element-1443d9a{--display:flex;}.elementor-4640 .elementor-element.elementor-element-a7ff9c8{text-align:center;}.elementor-4640 .elementor-element.elementor-element-a7ff9c8 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-f1637f8 .elementor-heading-title{color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-a44a7c9{--display:flex;}.elementor-4640 .elementor-element.elementor-element-c2c8aa5{--display:flex;}.elementor-4640 .elementor-element.elementor-element-1ed0e69 .elementor-heading-title{color:#DBE8FFD9;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4640 .elementor-element.elementor-element-925b3e5{color:#DBE8FFD9;--textColor:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-255c03b{--display:flex;}.elementor-4640 .elementor-element.elementor-element-be99af9 .elementor-heading-title{color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-eff98f9{color:#DBE8FFD9;--textColor:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-ea4cf2e{--display:flex;}.elementor-4640 .elementor-element.elementor-element-eafc4b4 .elementor-heading-title{color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-bfa2640{color:#DBE8FFD9;--textColor:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-2349ac2{--display:flex;}.elementor-4640 .elementor-element.elementor-element-fdd2443 .elementor-heading-title{color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-658eec7{color:#DBE8FFD9;--textColor:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-f1d7d5d{--display:flex;}.elementor-4640 .elementor-element.elementor-element-09f2be2 .elementor-heading-title{color:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-31a25f0{color:#DBE8FFD9;--textColor:#DBE8FFD9;}.elementor-4640 .elementor-element.elementor-element-26e775b{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4640 .elementor-element.elementor-element-05c1562{color:#DBE8FFD9;--textColor:#DBE8FFD9;}.elementor-widget-image .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4640 .elementor-element.elementor-element-812fdc9{text-align:center;}.elementor-4640 .elementor-element.elementor-element-812fdc9.elementor-element{--align-self:center;}.elementor-4640 .elementor-element.elementor-element-e5e6007{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4640 .elementor-element.elementor-element-e5e6007:not(.elementor-motion-effects-element-type-background), .elementor-4640 .elementor-element.elementor-element-e5e6007 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#04040B;}@media(max-width:1024px){.elementor-4640 .elementor-element.elementor-element-6549bd5{--grid-auto-flow:row;}.elementor-4640 .elementor-element.elementor-element-26e775b{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-4640 .elementor-element.elementor-element-6549bd5{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-4640 .elementor-element.elementor-element-26e775b{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-15f77ab *//* ==========================================================================
   SIBYLLA — StarBorder Buttons (HTML Widget)
   - Anneau animé 1px (type StarBorder)
   - Coins parfaits = rayon identique au bouton
   - Fond DA : #0A0F18 (+ léger hover)
   - Bordure statique plus sombre que la teinte d’effet
   - Hover & Active feedback
   - Texte forcé sur une seule ligne
   - Variantes couleur : -cyan, -gold, -pink
   - Conteneur .sib-cta-center pour centrer un groupe de boutons
   ========================================================================== */

/* ---- (Optionnel) Centrer un groupe de CTA côte à côte ------------------- */
.sib-cta-center{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(12px, 2vw, 20px);
  justify-content:center;
  align-items:center;
  text-align:center;
}

/* ---- Bouton : conteneur externe (le <a>) -------------------------------- */
.sib-starbtn{
  /* Variables ajustables par bouton via inline style si besoin */
  --r: 20px;          /* rayon des coins (ex: 20px) */
  --th: 1px;          /* épaisseur de l’anneau animé */
  --speed: 5s;        /* vitesse des “étoiles” */
  --color: #37b4ff;   /* couleur de l’anneau animé (cyan Sibylla) */
  --fg: #DBE8FF;      /* couleur du texte */
  --bg: #0A0F18;      /* fond interne du bouton */

  position: relative;
  display: inline-block;
  padding: var(--th);               /* crée le ring de 1px autour */
  border-radius: var(--r);
  overflow: hidden;
  isolation: isolate;               /* cloisonne le stacking des pseudos */
  background: transparent;
  color: var(--fg);
  text-decoration: none;
  line-height: 1;

  /* Interactions globales */
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Texte 1 ligne, jamais de retour */
.sib-starbtn,
.sib-starbtn .inner,
.sib-starbtn .label{
  white-space: nowrap;
  word-break: keep-all;
  hyphens: none;
}

/* ---- Noyau du bouton (fond + typo) -------------------------------------- */
.sib-starbtn .inner{
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;

  /* Typo : match des anciens boutons */
  font-family: inherit;
  font-weight: 700;
  font-size: 16px;          /* ajuste à 18px si besoin */
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--fg);

  padding: 16px 26px;       /* volume visuel du bouton */
  background: var(--bg);
  border-radius: calc(var(--r) - var(--th));
  border: 1px solid;        /* bordure statique (définie plus bas) */
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* ---- Bordure statique (même teinte que l’effet mais plus sombre) -------- */
.sib-starbtn{
  /* Calcule une bordure plus sombre à partir de --color */
  --border: color-mix(in srgb, var(--color) 35%, #000 65%);
}
.sib-starbtn .inner{
  border-color: var(--border);
}

/* Fallback vieux navigateurs (pas de color-mix) */
.sib-starbtn.-cyan .inner { border-color:#1b5b87; }  /* dérivé de #37b4ff */
.sib-starbtn.-gold .inner { border-color:#7a5b00; }  /* dérivé de #fbc900 */
.sib-starbtn.-pink .inner { border-color:#7a215e; }  /* dérivé de #ff4df0 */

/* ---- Étoiles animées dans le ring --------------------------------------- */
.sib-starbtn::before,
.sib-starbtn::after{
  content:"";
  position:absolute;
  width:300%;
  height:50%;
  border-radius: inherit;           /* coins identiques */
  background: radial-gradient(circle, var(--color), transparent 10%);
  pointer-events:none;
  z-index:0;
  opacity: var(--star-o, .9);
}

/* Bande basse → gauche */
.sib-starbtn::before{
  bottom:-12px; right:-250%;
  animation: sib-star-bottom var(--speed) linear infinite alternate;
}
/* Bande haute → droite */
.sib-starbtn::after{
  top:-12px; left:-250%;
  animation: sib-star-top var(--speed) linear infinite alternate;
}

/* ---- Variantes couleur --------------------------------------------------- */
.sib-starbtn.-cyan{ --color:#37b4ff; }   /* DA Sibylla */
.sib-starbtn.-gold{ --color:#fbc900; }
.sib-starbtn.-pink{ --color:#ff4df0; }

/* ---- Hover & Active feedback -------------------------------------------- */
.sib-starbtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 14px 0 color-mix(in srgb, var(--color) 26%, transparent);
  --speed: 4.2s;    /* un peu plus rapide au survol */
  --star-o: 1;      /* étoiles plus visibles */
}
.sib-starbtn:hover .inner{
  /* léger éclaircissement du fond + bordure plus lumineuse */
  background: color-mix(in srgb, var(--bg) 92%, #fff 8%);
  border-color: color-mix(in srgb, var(--color) 55%, #000 45%);
}

/* Fallback hover si pas de color-mix */
@supports not (color: color-mix(in srgb, #000 50%, #fff 50%)) {
  .sib-starbtn:hover .inner{
    background: #0D1622;           /* proche de var(--bg) mais un cran + clair */
  }
}

/* Clic/press : très léger “press” + anim plus vive */
.sib-starbtn:active{
  transform: translateY(0) scale(0.985);
  --speed: 3.2s;
  --star-o: .75;
}
.sib-starbtn:active .inner{
  box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.02);
}

/* ---- Focus clavier (accessibilité) -------------------------------------- */
.sib-starbtn:focus-visible{
  outline: 2px solid var(--color);
  outline-offset: 2px;
}

/* ---- Motion-safe --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .sib-starbtn::before,
  .sib-starbtn::after{
    animation: none;
    opacity: .25;
  }
}

/* ---- Anti-wrap mobile étroit + léger compactage si <380px ---------------- */
@media (max-width: 380px){
  .sib-starbtn.-lg .inner{
    font-size: 15px;
    padding: 14px 22px;
    letter-spacing: .05em;
  }
}

/* ---- Animations ---------------------------------------------------------- */
@keyframes sib-star-bottom{
  0%   { transform: translate(0,0);    opacity:1; }
  100% { transform: translate(-100%,0); opacity:0; }
}
@keyframes sib-star-top{
  0%   { transform: translate(0,0);    opacity:1; }
  100% { transform: translate(100%,0);  opacity:0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f716bbd *//* ==========================================================================
   SIBYLLA — StarBorder Buttons (HTML Widget)
   - Anneau animé 1px (type StarBorder)
   - Coins parfaits = rayon identique au bouton
   - Fond DA : #0A0F18 (+ léger hover)
   - Bordure statique plus sombre que la teinte d’effet
   - Hover & Active feedback
   - Texte forcé sur une seule ligne
   - Variantes couleur : -cyan, -gold, -pink
   - Conteneur .sib-cta-center pour centrer un groupe de boutons
   ========================================================================== */

/* ---- (Optionnel) Centrer un groupe de CTA côte à côte ------------------- */
.sib-cta-center{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(12px, 2vw, 20px);
  justify-content:center;
  align-items:center;
  text-align:center;
}

/* ---- Bouton : conteneur externe (le <a>) -------------------------------- */
.sib-starbtn{
  /* Variables ajustables par bouton via inline style si besoin */
  --r: 20px;          /* rayon des coins (ex: 20px) */
  --th: 1px;          /* épaisseur de l’anneau animé */
  --speed: 5s;        /* vitesse des “étoiles” */
  --color: #37b4ff;   /* couleur de l’anneau animé (cyan Sibylla) */
  --fg: #DBE8FF;      /* couleur du texte */
  --bg: #0A0F18;      /* fond interne du bouton */

  position: relative;
  display: inline-block;
  padding: var(--th);               /* crée le ring de 1px autour */
  border-radius: var(--r);
  overflow: hidden;
  isolation: isolate;               /* cloisonne le stacking des pseudos */
  background: transparent;
  color: var(--fg);
  text-decoration: none;
  line-height: 1;

  /* Interactions globales */
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Texte 1 ligne, jamais de retour */
.sib-starbtn,
.sib-starbtn .inner,
.sib-starbtn .label{
  white-space: nowrap;
  word-break: keep-all;
  hyphens: none;
}

/* ---- Noyau du bouton (fond + typo) -------------------------------------- */
.sib-starbtn .inner{
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;

  /* Typo : match des anciens boutons */
  font-family: inherit;
  font-weight: 700;
  font-size: 16px;          /* ajuste à 18px si besoin */
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--fg);

  padding: 16px 26px;       /* volume visuel du bouton */
  background: var(--bg);
  border-radius: calc(var(--r) - var(--th));
  border: 1px solid;        /* bordure statique (définie plus bas) */
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* ---- Bordure statique (même teinte que l’effet mais plus sombre) -------- */
.sib-starbtn{
  /* Calcule une bordure plus sombre à partir de --color */
  --border: color-mix(in srgb, var(--color) 35%, #000 65%);
}
.sib-starbtn .inner{
  border-color: var(--border);
}

/* Fallback vieux navigateurs (pas de color-mix) */
.sib-starbtn.-cyan .inner { border-color:#1b5b87; }  /* dérivé de #37b4ff */
.sib-starbtn.-gold .inner { border-color:#7a5b00; }  /* dérivé de #fbc900 */
.sib-starbtn.-pink .inner { border-color:#7a215e; }  /* dérivé de #ff4df0 */

/* ---- Étoiles animées dans le ring --------------------------------------- */
.sib-starbtn::before,
.sib-starbtn::after{
  content:"";
  position:absolute;
  width:300%;
  height:50%;
  border-radius: inherit;           /* coins identiques */
  background: radial-gradient(circle, var(--color), transparent 10%);
  pointer-events:none;
  z-index:0;
  opacity: var(--star-o, .9);
}

/* Bande basse → gauche */
.sib-starbtn::before{
  bottom:-12px; right:-250%;
  animation: sib-star-bottom var(--speed) linear infinite alternate;
}
/* Bande haute → droite */
.sib-starbtn::after{
  top:-12px; left:-250%;
  animation: sib-star-top var(--speed) linear infinite alternate;
}

/* ---- Variantes couleur --------------------------------------------------- */
.sib-starbtn.-cyan{ --color:#37b4ff; }   /* DA Sibylla */
.sib-starbtn.-gold{ --color:#fbc900; }
.sib-starbtn.-pink{ --color:#ff4df0; }

/* ---- Hover & Active feedback -------------------------------------------- */
.sib-starbtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 14px 0 color-mix(in srgb, var(--color) 26%, transparent);
  --speed: 4.2s;    /* un peu plus rapide au survol */
  --star-o: 1;      /* étoiles plus visibles */
}
.sib-starbtn:hover .inner{
  /* léger éclaircissement du fond + bordure plus lumineuse */
  background: color-mix(in srgb, var(--bg) 92%, #fff 8%);
  border-color: color-mix(in srgb, var(--color) 55%, #000 45%);
}

/* Fallback hover si pas de color-mix */
@supports not (color: color-mix(in srgb, #000 50%, #fff 50%)) {
  .sib-starbtn:hover .inner{
    background: #0D1622;           /* proche de var(--bg) mais un cran + clair */
  }
}

/* Clic/press : très léger “press” + anim plus vive */
.sib-starbtn:active{
  transform: translateY(0) scale(0.985);
  --speed: 3.2s;
  --star-o: .75;
}
.sib-starbtn:active .inner{
  box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.02);
}

/* ---- Focus clavier (accessibilité) -------------------------------------- */
.sib-starbtn:focus-visible{
  outline: 2px solid var(--color);
  outline-offset: 2px;
}

/* ---- Motion-safe --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .sib-starbtn::before,
  .sib-starbtn::after{
    animation: none;
    opacity: .25;
  }
}

/* ---- Anti-wrap mobile étroit + léger compactage si <380px ---------------- */
@media (max-width: 380px){
  .sib-starbtn.-lg .inner{
    font-size: 15px;
    padding: 14px 22px;
    letter-spacing: .05em;
  }
}

/* ---- Animations ---------------------------------------------------------- */
@keyframes sib-star-bottom{
  0%   { transform: translate(0,0);    opacity:1; }
  100% { transform: translate(-100%,0); opacity:0; }
}
@keyframes sib-star-top{
  0%   { transform: translate(0,0);    opacity:1; }
  100% { transform: translate(100%,0);  opacity:0; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cea9a70 *//* ==========================================================================
   SIBYLLA — StarBorder Buttons (HTML Widget)
   - Anneau animé 1px (type StarBorder)
   - Coins parfaits = rayon identique au bouton
   - Fond DA : #0A0F18 (+ léger hover)
   - Bordure statique plus sombre que la teinte d’effet
   - Hover & Active feedback
   - Texte forcé sur une seule ligne
   - Variantes couleur : -cyan, -gold, -pink
   - Conteneur .sib-cta-center pour centrer un groupe de boutons
   ========================================================================== */

/* ---- (Optionnel) Centrer un groupe de CTA côte à côte ------------------- */
.sib-cta-center{
  display:flex;
  flex-wrap:wrap;
  gap:clamp(12px, 2vw, 20px);
  justify-content:center;
  align-items:center;
  text-align:center;
}

/* ---- Bouton : conteneur externe (le <a>) -------------------------------- */
.sib-starbtn{
  /* Variables ajustables par bouton via inline style si besoin */
  --r: 20px;          /* rayon des coins (ex: 20px) */
  --th: 1px;          /* épaisseur de l’anneau animé */
  --speed: 5s;        /* vitesse des “étoiles” */
  --color: #37b4ff;   /* couleur de l’anneau animé (cyan Sibylla) */
  --fg: #DBE8FF;      /* couleur du texte */
  --bg: #0A0F18;      /* fond interne du bouton */

  position: relative;
  display: inline-block;
  padding: var(--th);               /* crée le ring de 1px autour */
  border-radius: var(--r);
  overflow: hidden;
  isolation: isolate;               /* cloisonne le stacking des pseudos */
  background: transparent;
  color: var(--fg);
  text-decoration: none;
  line-height: 1;

  /* Interactions globales */
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Texte 1 ligne, jamais de retour */
.sib-starbtn,
.sib-starbtn .inner,
.sib-starbtn .label{
  white-space: nowrap;
  word-break: keep-all;
  hyphens: none;
}

/* ---- Noyau du bouton (fond + typo) -------------------------------------- */
.sib-starbtn .inner{
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;

  /* Typo : match des anciens boutons */
  font-family: inherit;
  font-weight: 700;
  font-size: 16px;          /* ajuste à 18px si besoin */
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--fg);

  padding: 16px 26px;       /* volume visuel du bouton */
  background: var(--bg);
  border-radius: calc(var(--r) - var(--th));
  border: 1px solid;        /* bordure statique (définie plus bas) */
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* ---- Bordure statique (même teinte que l’effet mais plus sombre) -------- */
.sib-starbtn{
  /* Calcule une bordure plus sombre à partir de --color */
  --border: color-mix(in srgb, var(--color) 35%, #000 65%);
}
.sib-starbtn .inner{
  border-color: var(--border);
}

/* Fallback vieux navigateurs (pas de color-mix) */
.sib-starbtn.-cyan .inner { border-color:#1b5b87; }  /* dérivé de #37b4ff */
.sib-starbtn.-gold .inner { border-color:#7a5b00; }  /* dérivé de #fbc900 */
.sib-starbtn.-pink .inner { border-color:#7a215e; }  /* dérivé de #ff4df0 */

/* ---- Étoiles animées dans le ring --------------------------------------- */
.sib-starbtn::before,
.sib-starbtn::after{
  content:"";
  position:absolute;
  width:300%;
  height:50%;
  border-radius: inherit;           /* coins identiques */
  background: radial-gradient(circle, var(--color), transparent 10%);
  pointer-events:none;
  z-index:0;
  opacity: var(--star-o, .9);
}

/* Bande basse → gauche */
.sib-starbtn::before{
  bottom:-12px; right:-250%;
  animation: sib-star-bottom var(--speed) linear infinite alternate;
}
/* Bande haute → droite */
.sib-starbtn::after{
  top:-12px; left:-250%;
  animation: sib-star-top var(--speed) linear infinite alternate;
}

/* ---- Variantes couleur --------------------------------------------------- */
.sib-starbtn.-cyan{ --color:#37b4ff; }   /* DA Sibylla */
.sib-starbtn.-gold{ --color:#fbc900; }
.sib-starbtn.-pink{ --color:#ff4df0; }

/* ---- Hover & Active feedback -------------------------------------------- */
.sib-starbtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 14px 0 color-mix(in srgb, var(--color) 26%, transparent);
  --speed: 4.2s;    /* un peu plus rapide au survol */
  --star-o: 1;      /* étoiles plus visibles */
}
.sib-starbtn:hover .inner{
  /* léger éclaircissement du fond + bordure plus lumineuse */
  background: color-mix(in srgb, var(--bg) 92%, #fff 8%);
  border-color: color-mix(in srgb, var(--color) 55%, #000 45%);
}

/* Fallback hover si pas de color-mix */
@supports not (color: color-mix(in srgb, #000 50%, #fff 50%)) {
  .sib-starbtn:hover .inner{
    background: #0D1622;           /* proche de var(--bg) mais un cran + clair */
  }
}

/* Clic/press : très léger “press” + anim plus vive */
.sib-starbtn:active{
  transform: translateY(0) scale(0.985);
  --speed: 3.2s;
  --star-o: .75;
}
.sib-starbtn:active .inner{
  box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.02);
}

/* ---- Focus clavier (accessibilité) -------------------------------------- */
.sib-starbtn:focus-visible{
  outline: 2px solid var(--color);
  outline-offset: 2px;
}

/* ---- Motion-safe --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .sib-starbtn::before,
  .sib-starbtn::after{
    animation: none;
    opacity: .25;
  }
}

/* ---- Anti-wrap mobile étroit + léger compactage si <380px ---------------- */
@media (max-width: 380px){
  .sib-starbtn.-lg .inner{
    font-size: 15px;
    padding: 14px 22px;
    letter-spacing: .05em;
  }
}

/* ---- Animations ---------------------------------------------------------- */
@keyframes sib-star-bottom{
  0%   { transform: translate(0,0);    opacity:1; }
  100% { transform: translate(-100%,0); opacity:0; }
}
@keyframes sib-star-top{
  0%   { transform: translate(0,0);    opacity:1; }
  100% { transform: translate(100%,0);  opacity:0; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-46df235 *//* === Sibylla — Voile d'étoiles (aléatoire, sans parallax) === */
.nebula-stars{
  position: relative;
  overflow: hidden;

  /* Réglages ajustables */
  --stars-a-density: 0.000044;  /* couche A (étoiles + visibles) */
  --stars-b-density: 0.000066;  /* couche B (étoiles fines)      */

  /* garde-fous quantité pour petits écrans */
  --stars-a-min: 44;  --stars-a-max: 132;
  --stars-b-min: 66;  --stars-b-max: 198;

  /* scintillement (0.0–1.0) */
  --twinkle-min: 0.35;
  --twinkle-max: 0.65;
}

.nebula-stars > .elementor-container,
.nebula-stars .e-con-inner{
  position: relative;
  z-index: 3; /* contenu au-dessus des étoiles */
}

/* Canvases superposés au-dessus du fond, sous le contenu */
.nebula-stars .sib-stars-canvas{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: screen; /* se fond sur la nébuleuse */
  opacity: 0.95;          /* baisse si tu veux plus discret */
  display: block;
}

/* Accessibilité : fige l'anim si l’utilisateur réduit les animations */
@media (prefers-reduced-motion: reduce){
  .nebula-stars .sib-stars-canvas{ opacity: .6; }
}

/* Option mobile : un peu moins dense */
@media (max-width: 767px){
  .nebula-stars{
    --stars-a-density: 0.000030;
    --stars-b-density: 0.000045;
  }
}
/* Boost central : +25% d'étoiles dans un carré 500x500 au centre */
.nebula-stars{
  --central-boost-size: 100px;  /* côté du carré centré */
  --central-boost-factor: 0.25; /* +25% dans cette zone */
}
/* Étoiles filantes (réglages globaux) */
.nebula-stars{
  /* fréquence moyenne */
  --meteors-per-minute: 10;  /* ~1 toutes les 7–8 s en moyenne */
  --meteors-max: 3;         /* nombre max simultané */

  /* vitesse (px/s) & durée (s) */
  --meteor-speed-min: 560;
  --meteor-speed-max: 900;
  --meteor-life: 1.2;

  /* rendu */
  --meteor-length: 180px;   /* longueur de traînée */
  --meteor-thickness: 1.6px;
  --meteor-glow: 6px;       /* halo (blur) */

  /* direction (degrés depuis l’axe +X, sens horaire) */
  --meteor-angle-deg: 235;   /* diagonale haut-droit -> bas-gauche */
  --meteor-angle-spread: 70; /* ± autour de l’angle de base */
}

/* Canvas des météores (au-dessus des étoiles, sous le contenu) */
.nebula-stars .sib-stars-meteors{
  position: absolute;
  inset: 0;
  z-index: 2;              /* sous le contenu, mais ajouté après A/B => au-dessus */
  pointer-events: none;
  mix-blend-mode: screen;
  display: block;
}

/* Option mobile : un peu moins fréquent/long */
@media (max-width: 767px){
  .nebula-stars{
    --meteors-per-minute: 6;
    --meteor-length: 140px;
  }
}

/* ===== Timeline Sibylla — correctif d'alignement v3 ===== */
#parcours{
  --sc-stroke: rgba(255,255,255,.12);
  --sc-card: rgba(255,255,255,.06);
  --sc-accent1:#40E0FF; /* cyan */
  --sc-accent2:#4DA3FF; /* blue */
  --sc-accent3:#B388FF; /* violet */

  /* Réglages */
  --rail-x: 16px;   /* position horizontale du RAIL depuis le bord gauche du parent */
  --rail-w: 2px;    /* épaisseur du rail */
  --dot-r: 6px;     /* rayon de la pastille (diamètre = 12px) */
  --gutter: 16px;   /* espace entre rail et bord gauche des cartes */
}

/* Parent des étapes (liste ou conteneur) */
#parcours .sib-steps{
  position: relative;
  display: grid;
  gap: 18px;
  /* On réserve la place à gauche pour rail + pastille + gouttière */
  padding-left: calc(var(--rail-x) + var(--dot-r) + var(--gutter));
  list-style: none; margin:0;
}

/* RAIL vertical */
#parcours .sib-steps::before{
  content:"";
  position:absolute;
  left: var(--rail-x);
  top:0; bottom:0;
  width: var(--rail-w);
  background: linear-gradient(var(--sc-accent2), var(--sc-accent3));
  box-shadow: 0 0 24px rgba(77,163,255,.28), 0 0 64px rgba(64,224,255,.18);
  z-index:0;
}

/* Carte d'étape */
#parcours .sib-step{
  position: relative;
  padding:14px 16px;
  border:1px solid var(--sc-stroke);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  z-index:1; /* au-dessus du rail */
}

/* PASTILLE — CENTRAGE EXACT SUR LE RAIL
   Formule:
   - Le bord gauche de la carte est déjà décalé par le padding du parent.
   - Pour recentrer la pastille sur le rail, on compense ce padding.
   - Résultat: offset constant = -(2*dot_r + gutter)
*/
#parcours .sib-step::before{
  content:"";
  position:absolute;
  left: calc(-1 * ( (2 * var(--dot-r)) + var(--gutter) ));
  top: 18px; /* ajuste verticalement si besoin (ex: 16–20px) */
  width: calc(2 * var(--dot-r));
  height: calc(2 * var(--dot-r));
  border-radius:50%;
  background: var(--sc-accent1);
  box-shadow: 0 0 0 4px rgba(64,224,255,.20);
}

/* Typo/espaces internes propres */
#parcours .sib-step > *:first-child{ margin-top:0 }
#parcours .sib-step h5, #parcours .sib-step h6{ margin:0 0 6px }
#parcours .sib-step p{ margin:0; opacity:.9 }
#parcours .sib-step ul, #parcours .sib-step ol{ margin:8px 0 0 0; padding-left:18px }

/* Mobile: ressert légèrement rail et gouttière */
@media (max-width: 640px){
  #parcours{ --rail-x: 14px; --gutter: 12px; }
}/* End custom CSS */