/* Norme du site : les titres dorés sont toujours en majuscules. */
h1, h2, h3, h4, h5, h6 { text-transform: uppercase; }
.odyssey-title.odyssey-title, .alpha-recruitment__intro h2.odyssey-title {
  font-family: "Lexend", sans-serif; color: #ebcc5b;
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.25;
  text-wrap: balance; text-shadow: 0 3px 6px #000e, 0 8px 24px #000b;
}
.site-navbar { position: relative; z-index: 100; overflow: visible; }
.home-hero .home-header { z-index: 100; }
.home-hero { overflow: visible; }
.wiki-menu { position: relative; }
.wiki-dropdown {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  min-width: 12rem; padding: .75rem 0 .5rem; z-index: 110;
  visibility: hidden; opacity: 0; transition: opacity 150ms ease;
  background: #1a222e; border: 1px solid #ebcc5b66; border-radius: .5rem;
  box-shadow: 0 10px 24px #0008;
}
.wiki-menu:hover > .wiki-dropdown, .wiki-menu:focus-within > .wiki-dropdown {
  visibility: visible; opacity: 1;
}
.wiki-dropdown a, .wiki-mobile-submenu a {
  display: block; padding: .6rem 1.25rem; color: #e9d5ff;
  font-family: "Arturo", serif; text-transform: uppercase; white-space: nowrap;
}
.wiki-dropdown a:hover, .wiki-dropdown a:focus-visible { color: #fde047; background: #581c8733; }
.wiki-dropdown--shared > div { border: 0; background: transparent; box-shadow: none; }
.wiki-mobile-submenu { padding-left: 1rem; }
.site-button.site-button {
  --button-left: url("/site-ui/bouton-gauche.png");
  --button-center: url("/site-ui/bouton-centre.png");
  --button-right: url("/site-ui/bouton-droite.png");
  --button-height: 40px; --button-cap: 14.545455px;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative; isolation: isolate; width: auto; min-height: var(--button-height);
  height: auto; padding: 2px calc(var(--button-cap) + .45rem) 0;
  background: transparent; border: 0; border-radius: 0;
  font-family: "Arturo", serif; text-transform: uppercase; white-space: nowrap;
  image-rendering: pixelated; line-height: 1.15; box-shadow: none;
}
/* Centre derrière les extrémités : le recouvrement de 1px élimine
   les lignes de raccord dues aux largeurs de texte fractionnaires. */
.site-button::before {
  content: ""; position: absolute; inset: 0 calc(var(--button-cap) - 1px);
  z-index: -2; pointer-events: none;
  background: var(--button-center) center / 100% 100% no-repeat;
  image-rendering: pixelated;
}
.site-button::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: var(--button-left), var(--button-right);
  background-position: left center, right center;
  background-size: var(--button-cap) 100%, var(--button-cap) 100%;
  background-repeat: no-repeat; image-rendering: pixelated;
}
.site-button--large.site-button--large {
  --button-left: url("/site-ui/bouton-large-gauche.png");
  --button-center: url("/site-ui/bouton-large-centre.png");
  --button-right: url("/site-ui/bouton-large-droite.png");
  --button-height: 78px; --button-cap: 20.8px; min-width: 250px;
}
.home-server-cta .home-server-cta__overlay { position: static; overflow: visible; }
.home-server-cta .home-server-cta__label { position: static; transform: none; }
.home-nav .site-button.nav-btn-text { width: auto; font-size: 1.1rem; }
.alpha-recruitment__icon:has(img) { width: 64px; height: 64px; border: 0; border-radius: 0; background: none; }
.alpha-recruitment__icon img { width: 64px; height: 64px; image-rendering: pixelated; }
.footer-disclaimer { margin-top: 2.5rem; }
@media (min-width: 768px) {
  .footer-main { align-items: end; }
  .footer-contact { align-self: end; }
}

.atlas-fullscreen > nav.site-navbar { z-index: 100; }
.footer-main.footer-main { align-items: end; }
.site-button.site-button:focus-visible { outline: 2px solid #fde047; outline-offset: 4px; }



.site-button--large.site-button--large { padding-top: 4px; }
.vote-toolbar .vote-toolbar__side { width: auto; }
.vote-toolbar .vote-btn { opacity: 1; }
.vote-ranking-title { color: #efb241; text-shadow: 0 2px 6px #000c; }

/* Étapes : même parcours et mêmes assets, avec un relief plus lisible. */
.alpha-recruitment__steps .alpha-recruitment__step {
  display: flex; flex-direction: column; align-items: center;
  padding: 2rem 1.5rem 1.75rem; border: 1px solid #b173c366;
  border-top: 2px solid #ebcc5b99; border-radius: 1rem;
  background: radial-gradient(ellipse at 50% 0%, #68348250, transparent 65%),
              linear-gradient(160deg, #321540, #21102e);
  box-shadow: inset 0 1px 0 #ffffff12, 0 10px 24px #0004;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
.alpha-recruitment__steps .alpha-recruitment__step:hover {
  border-color: #ebcc5b88; box-shadow: inset 0 1px 0 #ffffff18, 0 12px 28px #0005;
}
.alpha-recruitment__steps .alpha-recruitment__step-number {
  display: flex; align-items: center; justify-content: center;
  width: 2.25rem; height: 2.25rem; top: .9rem; left: .9rem;
  border: 1px solid #ebcc5b55; border-radius: 50%;
  background: #160a22; font-size: 1.125rem; color: #ebcc5b;
}
.alpha-recruitment__steps .alpha-recruitment__icon:has(img) {
  width: 88px; height: 88px; margin-bottom: 1.25rem;
  border: 1px solid #ebcc5b33; border-radius: 18px;
  background: radial-gradient(circle, #b173c32b, #1c0b2a80);
  box-shadow: inset 0 1px 0 #ffffff0c;
}
.alpha-recruitment__steps .alpha-recruitment__step h3 {
  color: #ebcc5b; text-wrap: balance; line-height: 1.45;
  font-size: 1rem; min-height: 2.9em; display: flex; align-items: center;
}
.alpha-recruitment__steps .alpha-recruitment__step p {
  margin-top: .5rem; color: #dfcce9; max-width: 28ch; text-wrap: pretty;
}
.alpha-recruitment__steps .alpha-recruitment__arrow { color: #ebcc5baa; }
@media (max-width: 699px) {
  .alpha-recruitment__steps .alpha-recruitment__step h3 { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .alpha-recruitment__steps .alpha-recruitment__step { transition: none; }
}

.alpha-recruitment__steps .alpha-recruitment__step h3 { position: relative; margin-bottom: 1rem; }
.alpha-recruitment__steps .alpha-recruitment__step h3::after {
  content: ""; position: absolute; width: 3rem; height: 1px;
  bottom: -.5rem; left: calc(50% - 1.5rem);
  background: linear-gradient(90deg, transparent, #ebcc5b, transparent);
}
.home-server-info {
  width: min(100%, 23rem); padding: 1.35rem 1.5rem 1.1rem;
  border: 1px solid #ebcc5b66; border-radius: 1rem;
  background: linear-gradient(145deg, #101629ed, #23122cdd);
  box-shadow: inset 0 1px 0 #ffffff10, 0 12px 30px #0006;
  backdrop-filter: blur(6px); color: #e9d5ff;
}
.home-server-info__heading { display: flex; align-items: center; justify-content: center; gap: .8rem; }
.home-server-info__eyebrow { font-family: "Lexend", sans-serif; font-weight: 700; font-size: 1rem; letter-spacing: .04em; }
.home-server-info__version { color: #ebcc5b; padding: .2rem .5rem; background: #ebcc5b12; border: 1px solid #ebcc5b44; border-radius: .35rem; font-weight: 800; }
.home-server-info__rule { height: 1px; margin: .9rem 0; background: linear-gradient(90deg, transparent, #ebcc5b66, transparent); }
.home-server-info__edition { font-size: .9rem; line-height: 1.65; }
.home-server-info__edition strong { color: #fff3c4; font-weight: 700; white-space: nowrap; }
.home-server-info__tags { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; margin-top: 1rem; }
.home-server-info__tag { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .6rem; border: 1px solid #b173c344; border-radius: .4rem; background: #b173c314; font-size: .75rem; }
.home-server-info__tag > span { color: #ebcc5b; }
.home-server-info__status { margin-top: .85rem; color: #d8b4fe; font-size: .65rem; letter-spacing: .16em; font-weight: 700; }

@media (max-width: 639px) { .home-hero .home-hero__server { margin-top: 1.5rem; } }

/* Séparateur commun sous l'ensemble titre et sous-titre. */
.gold-separator {
  position: relative; width: min(18rem, 80%); height: 1px;
  margin: 1.5rem auto 2rem;
  background: linear-gradient(90deg, transparent, #d9893f 22%, #ebcc5b 50%, #d9893f 78%, transparent);
}
.gold-separator::after {
  content: ""; position: absolute; width: 7px; height: 7px;
  left: calc(50% - 3.5px); top: -3px; transform: rotate(45deg);
  background: #ebcc5b; box-shadow: 0 0 8px #ebcc5b33;
}
.home-hero__copy .gold-separator { margin: 1.25rem auto 0; }
