:root {
  --naw-home-bg: #494636;
  --naw-home-bg-soft: #5b5743;
  --naw-home-panel: #f1dfc2;
  --naw-home-panel-strong: #e4c89d;
  --naw-home-ink: #2c2116;
  --naw-home-cream: #f7ead6;
  --naw-home-muted: #e0d4c1;
  --naw-home-green: #617f35;
  --naw-home-green-dark: #354d22;
  --naw-home-line: rgba(255, 247, 229, .27);
  --naw-home-shadow: 0 18px 42px rgba(37, 29, 18, .28);
  --naw-home-nav-height: 52px;
  --naw-home-login-height: 72px;
  --naw-home-menu-wood-url: url('/public/images/NAWimagesImportante/box_menu_game.png');
  --naw-home-button-wood-url: url('/public/images/NAWimagesImportante/box_button_wood.png');
  --naw-home-hero-image-url: url('../images/NAWimagesImportante/artwork_with logo_11revised-sanstitle.jpg');
}

/* L'ancien accueil réservait 50px à la navbar Bootstrap fixe. La landing
 * possède désormais sa propre navigation sticky : cet espace doit disparaître. */
body.naw-main-layout {
  padding-top: 0;
  background: var(--naw-home-bg);
}

.naw-home,
.naw-home * {
  box-sizing: border-box;
}

.naw-home {
  position: relative;
  isolation: isolate;
  color: var(--naw-home-cream);
  background: #16251b;
  font-family: Verdana, Arial, sans-serif;
  font-size: clamp(13px, 1.15vw, 15px);
  line-height: 1.55;
  overflow-x: clip;
  overflow-y: visible;
}

.naw-home a {
  transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

.naw-home-local-nav {
  position: sticky;
  top: 0;
  z-index: 120;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  height: var(--naw-home-nav-height);
  padding: 5px 12px;
  overflow: visible;
  background: transparent;
  border-bottom: 0;
}

/* On recadre uniquement l'image bois 5 px plus haut, sans déplacer le bloc
 * sticky lui-même : la première vue conserve ainsi exactement la hauteur du
 * viewport tandis que la partie déformée du PNG reste hors écran. */
.naw-home-local-nav::before {
  content: '';
  position: absolute;
  top: -5px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(32, 18, 8, .10), rgba(12, 7, 2, .30)),
    var(--naw-home-menu-wood-url) center / 100% 100% no-repeat;
  box-shadow: 0 8px 18px rgba(24, 16, 8, .24);
  pointer-events: none;
}

.naw-home-nav-logo {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 8px;
  min-width: 0;
  height: 40px;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f3dfbd;
  text-decoration: none;
}

.naw-home-nav-logo img {
  display: block;
  width: 52px;
  max-height: 36px;
  object-fit: contain;
}

.naw-home-nav-brand {
  overflow: hidden;
  color: #9ecb66;
  font-family: 'Cinzel', Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .52);
  white-space: nowrap;
}

.naw-home-nav-actions {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 7px;
}

.naw-home-menu-toggle {
  appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(132, 184, 87, .58);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(20, 53, 43, .98), rgba(8, 29, 23, .98));
  color: #e5f3d5;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055),
    0 3px 12px rgba(0, 0, 0, .24);
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* Une vraie icone hamburger CSS : plus nette que le caractere unicode et
 * transformable en croix lorsque le menu mobile est ouvert. */
.naw-home-menu-toggle > span {
  position: relative;
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  font-size: 0;
  line-height: 0;
  box-shadow: 0 0 7px rgba(164, 211, 112, .13);
  transition: background .18s ease, transform .18s ease;
}

.naw-home-menu-toggle > span::before,
.naw-home-menu-toggle > span::after {
  content: '';
  position: absolute;
  left: 0;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform .2s ease, top .2s ease, bottom .2s ease;
}

.naw-home-menu-toggle > span::before { top: -7px; }
.naw-home-menu-toggle > span::after { bottom: -7px; }

.naw-home-menu-toggle:hover,
.naw-home-menu-toggle:focus,
.naw-home-menu-toggle:focus-visible {
  border-color: rgba(166, 213, 112, .82);
  background: linear-gradient(180deg, rgba(30, 68, 53, .99), rgba(12, 39, 29, .99));
  color: #f3ffe7;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .075),
    0 0 0 2px rgba(126, 177, 72, .12),
    0 5px 16px rgba(0, 0, 0, .28);
  outline: 0;
}

.naw-home-local-nav.is-menu-open .naw-home-menu-toggle {
  border-color: #96c55d;
  background: linear-gradient(180deg, #365f35, #234a2c);
  color: #fffce9;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .11),
    0 0 0 2px rgba(132, 190, 78, .14),
    0 0 16px rgba(108, 170, 62, .18);
}

.naw-home-local-nav.is-menu-open .naw-home-menu-toggle > span {
  background: transparent;
}

.naw-home-local-nav.is-menu-open .naw-home-menu-toggle > span::before {
  top: 0;
  transform: rotate(45deg);
}

.naw-home-local-nav.is-menu-open .naw-home-menu-toggle > span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

.naw-home-menu-toggle:active { transform: scale(.94); }

.naw-home-nav-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

.naw-home-nav-play {
  display: none;
  font-size: 13px;
  border: 1px solid #54752f;
  background: linear-gradient(180deg, #7da44b, #4d712c);
  color: #fff8e9 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.naw-home-nav-play:hover,
.naw-home-nav-play:focus {
  background: linear-gradient(180deg, #8ab456, #587f33);
  color: #fff !important;
  outline: 0;
}

.naw-home-local-nav__links {
  position: absolute;
  top: calc(100% + 7px);
  right: 10px;
  left: 10px;
  display: grid;
  gap: 5px;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(132, 184, 87, .38);
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, rgba(120, 174, 71, .12), transparent 34%),
    linear-gradient(160deg, rgba(10, 35, 27, .995), rgba(4, 21, 15, .995));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .035),
    0 18px 42px rgba(0, 0, 0, .44),
    0 0 22px rgba(73, 126, 48, .08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-7px) scale(.985);
  transform-origin: top center;
  transition: none;
}

.naw-home-local-nav__links::before {
  content: '';
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(166, 211, 116, .62), transparent);
  box-shadow: 0 0 8px rgba(129, 188, 79, .25);
  pointer-events: none;
}

/* Les liens desktop sont toujours visibles. Sur mobile, l'animation n'est
 * activee qu'apres une action volontaire sur le bouton hamburger : un
 * changement de breakpoint ne peut donc plus jouer une fausse ouverture/fermeture. */
@media (max-width: 1099px) {
  .naw-home-local-nav.has-menu-motion .naw-home-local-nav__links {
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
}

.naw-home-local-nav.is-menu-open .naw-home-local-nav__links {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.naw-home-local-nav__links a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 9px 14px 9px 40px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(255, 255, 255, .018);
  color: #dce8de;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1.15;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .52);
  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.naw-home-local-nav__links a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 16px;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(158, 202, 111, .58);
  border-radius: 50%;
  background: rgba(83, 128, 54, .16);
  box-shadow: 0 0 0 3px rgba(108, 162, 67, .04);
  transform: translateY(-50%);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.naw-home-local-nav__links a:hover,
.naw-home-local-nav__links a:focus,
.naw-home-local-nav__links a:focus-visible {
  border-color: rgba(128, 179, 82, .25);
  background: linear-gradient(90deg, rgba(73, 117, 49, .24), rgba(24, 61, 43, .34));
  color: #f7fff0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transform: translateX(2px);
  outline: 0;
}

.naw-home-local-nav__links a:hover::before,
.naw-home-local-nav__links a:focus::before,
.naw-home-local-nav__links a:focus-visible::before {
  border-color: #a5d16f;
  background: #6fa441;
  box-shadow: 0 0 9px rgba(116, 178, 68, .42);
  transform: translateY(-50%) scale(1.08);
}

.naw-home-local-nav__links a:active {
  transform: translateX(2px) scale(.985);
}

/* La connexion reste sticky sous le menu et reprend le langage visuel
 * compact des jeux de strategie navigateur : panneau sombre, controles
 * lisibles et CTA vert, sans masquer inutilement le hero. */
.naw-home-login {
  position: sticky;
  top: var(--naw-home-nav-height);
  z-index: 110;
  min-height: var(--naw-home-login-height);
  /* Un seul décalage négatif remet le hero à y=0. Deux marges négatives
   * adjacentes (login + hero) peuvent se fusionner et laisser 52px de vide. */
  margin-bottom: calc(-1 * (var(--naw-home-nav-height) + var(--naw-home-login-height)));
  padding: 0 8px;
  color: #edf4e9;
  background: transparent;
  pointer-events: none;
}

.naw-home-login > * { pointer-events: auto; }

.naw-home-login__inner {
  position: relative;
  display: grid;
  gap: 4px;
  width: 100%;
  max-width: 794px;
  margin: -4px auto 0;
  padding: 6px 8px 5px;
  border: 0;
  border-radius: 0 0 8px 8px;
  background: #0c201bba;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .28);
}

/* Le bandeau de connexion passe sous le menu bois : sa couleur remonte
 * volontairement derriere environ la moitie basse du menu afin que les
 * courbes/transparences du PNG ne laissent plus apparaitre d'interstice. */
.naw-home-login__inner::before {
  content: '';
  position: absolute;
  top: -28px;
  right: 0;
  left: 0;
  height: 30px;
  background: #0c201bba;
  pointer-events: none;
}

.naw-home-login-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(72px, .82fr) minmax(88px, .68fr);
  gap: 7px;
  align-items: center;
  min-width: 0;
}

.naw-home-login-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-width: 0;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.naw-home-login-field:focus-within {
  background: transparent;
  box-shadow: none;
}

.naw-home-login-field__label,
.naw-home-login-field > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  overflow: hidden;
  color: #eef5eb;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
  text-align: left;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.naw-home-login-field__label .glyphicon {
  flex: 0 0 auto;
  color: #dfe9db;
  font-size: 12px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .5);
}

.naw-home-login-field .form-control {
  width: 100%;
  min-width: 0;
  height: 34px;
  margin: 0;
  padding: 5px 8px;
  border: 1px solid #2c4940;
  border-radius: 3px;
  background: #132a24 !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .28) !important;
  color: #f5fbf7 !important;
  -webkit-text-fill-color: #f5fbf7;
  caret-color: #f5fbf7;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.naw-home-login-field .form-control::placeholder {
  color: #8da29a;
  -webkit-text-fill-color: #8da29a;
  opacity: 1;
}

.naw-home-login-field .form-control:focus {
  border-color: #6fa34d;
  background: #17352d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(111, 163, 77, .16), inset 0 1px 3px rgba(0, 0, 0, .22) !important;
}

.naw-home-login-field select.form-control {
  padding-right: 0;
  background-color: #132a24 !important;
  color: #f5fbf7 !important;
  -webkit-text-fill-color: #f5fbf7 !important;
  color-scheme: dark;
  font-size: 13px;
  text-align: left;
  text-align-last: left;
}

.naw-home-login-field select.form-control option {
  background: #132a24 !important;
  color: #f5fbf7 !important;
}

.naw-home-login-field input.form-control:-webkit-autofill,
.naw-home-login-field input.form-control:-webkit-autofill:hover,
.naw-home-login-field input.form-control:-webkit-autofill:focus,
.naw-home-login-field input.form-control:autofill {
  -webkit-box-shadow: 0 0 0 1000px #132a24 inset !important;
  box-shadow: 0 0 0 1000px #132a24 inset !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  caret-color: #fff !important;
  color-scheme: dark;
  transition: background-color 9999s ease-out 0s;
}

/* Les styles natifs/Bootstrap ne doivent jamais assombrir le texte saisi. */
.naw-home-login-form input.form-control,
.naw-home-login-form input.form-control:not(:placeholder-shown),
.naw-home-login-form input.form-control:valid,
.naw-home-login-form input.form-control:focus {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
}

.naw-home-login__submit.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  min-height: 34px;
  height: 34px !important;
  padding: 5px 10px !important;
  overflow: hidden;
  border: 1px solid #4d742d;
  border-radius: 3px;
  background: linear-gradient(180deg, #82b84b, #5f9136 58%, #4d7c2e);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .28),
    0 0 12px rgba(103, 161, 59, .16),
    0 1px 2px rgba(0, 0, 0, .28);
  color: #fffdf4;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 1px 1px rgba(28, 48, 18, .55);
  white-space: nowrap;
}

.naw-home-login__submit.btn:hover,
.naw-home-login__submit.btn:focus {
  border-color: #73a645;
  background: linear-gradient(180deg, #93cb58, #6ca440 58%, #588a34);
  color: #fff;
  outline: 0;
}

.naw-home-login__submit span {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
}

.naw-home-login__meta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 5px;
  align-items: start;
  gap: 4px;
  width: 100%;
  min-width: 0;
  min-height: 15px;
}

.naw-home-login__feedback {
  display: block;
  width: 100%;
  min-width: 0;
  color: #ffb7ad;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

/*
 * La colonne Mot de passe est volontairement compacte. Un message d'erreur ne
 * doit donc pas se battre horizontalement avec « Mot de passe oublié ? » : il
 * s'affiche sous le champ dans un panneau lisible, sans agrandir brutalement la
 * barre de connexion ni casser les mots lettre par lettre.
 */
.naw-home-login__feedback.is-visible,
.naw-home-login__feedback:not(:empty) {
  position: absolute;
  z-index: 180;
  top: calc(100% + 5px);
  right: 0;
  box-sizing: border-box;
  width: max-content;
  min-width: 220px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 7px 9px;
  border: 1px solid rgba(173, 104, 89, .72);
  border-radius: 5px;
  background: rgba(28, 20, 18, .97);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .34);
}

.naw-home-login__feedback:empty {
  display: none;
}

.naw-home-login__feedback .message-red {
  display: block;
  padding: 0;
  background: none;
  color: inherit;
  font: inherit;
}

.naw-home-login .naw-home-forgot {
  flex: 0 0 auto;
  justify-self: end;
  margin: 0 2px;
  color: #9fc77e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.naw-home-login .naw-home-forgot::after {
  content: '›';
  display: inline-block;
  margin-left: 5px;
  color: #c8e5b0;
  font-size: 1.15em;
  text-decoration: none;
}

.naw-home-login .naw-home-forgot:hover,
.naw-home-login .naw-home-forgot:focus {
  color: #d6efc3;
  outline: 0;
}

.naw-home-hero {
  position: relative;
  display: grid;
  align-content: center;
  gap: clamp(10px, 2vh, 18px);
  height: auto;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  margin-top: 0;
  padding: calc(var(--naw-home-nav-height) + var(--naw-home-login-height) + clamp(16px, 2.8vh, 30px)) 14px clamp(14px, 2.5vh, 24px);
}

/* Le wrapper n'ajoute aucune boite en desktop. Il sert uniquement à borner
 * le décor du hero avant la carte d'inscription sur mobile. */
.naw-home-hero__visual {
  display: contents;
}

.naw-home-hero__content,
.naw-home-signup-card,
.naw-home-signup-teaser {
  width: min(1180px, 100%);
  margin-inline: auto;
}

.naw-home-hero__content {
  align-self: center;
  filter: drop-shadow(0 12px 26px rgba(0, 0, 0, .52));
}

.naw-home-hero__content > h1,
.naw-home-hero__content > .naw-home-hero__lead {
  text-shadow: 0 2px 4px rgba(0, 0, 0, .72), 0 7px 18px rgba(0, 0, 0, .34);
}

.naw-home-hero__visual > .naw-home-hero__links,
.naw-home-hero__visual > .naw-home-stats {
  filter: drop-shadow(0 9px 18px rgba(0, 0, 0, .42));
}

/* Sur téléphone le logo passe dans le menu afin de préserver la hauteur utile. */
.naw-home-logo {
  display: none;
  width: min(330px, 82vw);
  height: auto;
  margin: 0 auto 14px;
  filter: drop-shadow(0 9px 14px rgba(0, 0, 0, .35));
}

.naw-home-hero h1 {
  max-width: 790px;
  margin: 0;
  color: #fffdf8;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(25px, 6vw, 38px);
  line-height: 1.05;
  text-wrap: balance;
}

.naw-home-hero__lead {
  display: -webkit-box;
  max-width: 760px;
  margin: 9px 0 0;
  overflow: hidden;
  color: #fffdfb;
  font-size: clamp(12px, 3.2vw, 16px);
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.naw-home-stats {
  position: relative;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 650px;
  margin-top: 11px;
  padding: 8px 10px;
  border: 0;
  border-radius: 7px;
  cursor: help;
  outline: 0;
}

.naw-home-stats .naw-home-stat {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, auto);
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 5px 18px 5px 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.naw-home-stat__separator {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, #d4edaa 22%, #d4edaa 78%, transparent);
  box-shadow: 0 0 8px rgba(202, 235, 151, .55);
  transform: translateY(-50%);
}

.naw-home-stat__separator--last {
  visibility: hidden;
}

.naw-home-stats img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .38));
}

.naw-home-online-indicator {
  position: relative;
  display: grid !important;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

.naw-home-online-indicator > span {
  position: relative;
  z-index: 2;
  display: block;
  width: 11px;
  height: 11px;
  border: 1px solid rgba(220, 255, 190, .72);
  border-radius: 50%;
  background: #79c94a;
  box-shadow:
    0 0 4px rgba(131, 224, 78, .95),
    0 0 11px rgba(106, 191, 61, .72),
    0 0 19px rgba(92, 173, 49, .36);
  animation: naw-home-online-glow 2.2s ease-in-out infinite;
}

.naw-home-online-indicator::before,
.naw-home-online-indicator::after {
  content: '';
  position: absolute;
  inset: 50% auto auto 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.naw-home-online-indicator::before {
  width: 20px;
  height: 20px;
  background: radial-gradient(circle, rgba(115, 203, 67, .28) 0%, rgba(91, 168, 48, .10) 52%, transparent 72%);
}

.naw-home-online-indicator::after {
  width: 13px;
  height: 13px;
  border: 1px solid rgba(131, 219, 80, .58);
  animation: naw-home-online-pulse 2.2s ease-out infinite;
}

@keyframes naw-home-online-glow {
  0%, 100% { opacity: .62; filter: brightness(.84); }
  48% { opacity: 1; filter: brightness(1.22); }
}

@keyframes naw-home-online-pulse {
  0% { opacity: .64; transform: translate(-50%, -50%) scale(.72); }
  62% { opacity: 0; transform: translate(-50%, -50%) scale(1.85); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.85); }
}

.naw-home-stat__copy,
.naw-home-stats strong,
.naw-home-stats span { display: block; }

.naw-home-stats strong {
  color: #fff;
  font-size: clamp(16px, 4.4vw, 24px);
  line-height: 1;
}

.naw-home-stats .naw-home-stat__copy > span {
  margin-top: 3px;
  color: var(--naw-home-muted);
  font-size: 12px;
  line-height: 1.15;
}


.naw-home-stats__tooltip {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 80;
  width: min(390px, calc(100vw - 24px));
  padding: 11px 12px 12px;
  border: 1px solid rgba(139, 190, 91, .46);
  border-radius: 9px;
  background:
    radial-gradient(circle at 100% 0, rgba(122, 174, 72, .11), transparent 35%),
    linear-gradient(160deg, rgba(10, 35, 27, .985), rgba(4, 21, 15, .99));
  color: #edf5e9;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .44), inset 0 1px 0 rgba(255, 255, 255, .035);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.naw-home-stats__tooltip::before {
  content: '';
  position: absolute;
  top: -7px;
  left: 50%;
  width: 13px;
  height: 13px;
  border-top: 1px solid rgba(139, 190, 91, .46);
  border-left: 1px solid rgba(139, 190, 91, .46);
  background: #0b2a20;
  transform: translateX(-50%) rotate(45deg);
}

.naw-home-stats:hover .naw-home-stats__tooltip,
.naw-home-stats:focus .naw-home-stats__tooltip,
.naw-home-stats:focus-within .naw-home-stats__tooltip,
.naw-home-stats.is-tooltip-open .naw-home-stats__tooltip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.naw-home-stats__tooltip-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(175, 207, 150, .16);
}

.naw-home-stats__tooltip-head > strong {
  color: #fffaf0;
  font-size: 13px;
  line-height: 1.2;
}

.naw-home-stats__tooltip-head > span {
  color: #afc3b6;
  font-size: 12px;
  line-height: 1.2;
  text-align: right;
}

.naw-home-stats__servers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 9px 0;
}

.naw-home-stats__server {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(136, 181, 101, .18);
  border-radius: 6px;
  background: rgba(255, 255, 255, .025);
}

.naw-home-stats__server > strong {
  color: #a9d37b;
  font-size: 12px;
  line-height: 1.1;
}

.naw-home-stats__server > span {
  color: #d8e3db;
  font-size: 12px;
  line-height: 1.2;
}

.naw-home-stats__server b,
.naw-home-stats__species-grid b {
  display: inline;
  color: #fffdf4;
  font-size: inherit;
}

.naw-home-stats__species {
  padding-top: 8px;
  border-top: 1px solid rgba(175, 207, 150, .16);
}

.naw-home-stats__species > strong {
  color: #dfeecf;
  font-size: 12px;
  line-height: 1.2;
}

.naw-home-stats__species-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 12px;
  margin-top: 6px;
}

.naw-home-stats__species-grid > span {
  color: #c7d3ca;
  font-size: 12px;
  line-height: 1.2;
}

.naw-home-stats[data-home-stats-state="partial"] .naw-home-stats__tooltip-head > span,
.naw-home-stats[data-home-stats-state="error"] .naw-home-stats__tooltip-head > span {
  color: #e6c88f;
}

.naw-home-hero__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
  margin-top: 16px;
}

.naw-home .btn-normal-xl-green {
  min-height: 40px;
  padding: 9px 14px;
  font-size: clamp(12px, 1.1vw, 13px);
}

.naw-home-hero__links .btn-normal-xl-green {
  min-width: 286px;
  min-height: 48px;
  padding: 11px 20px !important;
  font-size: clamp(15px, 1.35vw, 18px);
}

.naw-home-hero__links .btn-normal-xl-green {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #4d742d;
  background: linear-gradient(180deg, #82b84b, #5f9136 58%, #4d7c2e);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 12px rgba(103, 161, 59, .16), 0 1px 2px rgba(0, 0, 0, .28);
  color: #fffdf4 !important;
  text-shadow: 0 1px 1px rgba(28, 48, 18, .55);
}

.naw-home-hero__links .btn-normal-xl-green:hover,
.naw-home-hero__links .btn-normal-xl-green:focus {
  border-color: #73a645;
  background: linear-gradient(180deg, #93cb58, #6ca440 58%, #588a34);
  color: #fff !important;
}

.naw-home-link-chevron {
  display: inline-block;
  margin-left: 6px;
  font-size: max(12px, .82em);
  line-height: 1;
  transition: transform .18s ease;
}

/* designIndex.css masque historiquement les chevrons du carousel.
 * Sur la landing, nos chevrons de liens doivent rester visibles. */
.naw-home .naw-home-link-chevron.glyphicon-chevron-right::before {
  opacity: 1;
}

.naw-home a:hover .naw-home-link-chevron,
.naw-home a:focus .naw-home-link-chevron,
.naw-home button:hover .naw-home-link-chevron,
.naw-home button:focus .naw-home-link-chevron {
  transform: translateX(3px);
}

.naw-home-title-accent {
  display: block;
  color: #9fcb68;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .36), 0 0 18px rgba(122, 170, 68, .12);
}

.naw-home-signup-card {
  --naw-home-signup-wood-border: 9px;
  --naw-home-signup-corner-size: 80px;
  position: relative;
  isolation: isolate;
  align-self: center;
  width: min(100%, 430px);
  margin-inline: auto;
  padding: 20px 18px 16px;
  overflow: visible;
  border: 4px solid #9f865e;
  border-radius: 4px;
  background: radial-gradient(#f0dfc3, #f0ddbf, #f0ddbf, #d2b796);
  color: #35291d;
  box-shadow:
    0 22px 46px rgba(25, 17, 8, .34),
    0 7px 16px rgba(25, 17, 8, .22);
}

/* Même langage visuel que naw-central-frame--member, redimensionné pour la
 * carte d'inscription : cadre bois réel + quatre coins végétaux du jeu. */
.naw-home-signup-card::before {
  content: '';
  position: absolute;
  inset: -8px;
  z-index: 0;
  box-sizing: border-box;
  border: var(--naw-home-signup-wood-border) solid transparent;
  border-image-source: url('../images/cadre/wood-frame.png?1');
  border-image-slice: 52 55 53 54;
  border-image-width: var(--naw-home-signup-wood-border);
  border-image-repeat: stretch;
  pointer-events: none;
}

.naw-home-signup-card::after {
  content: '';
  position: absolute;
  inset: -11px;
  z-index: 1;
  background-image:
    url('../images/cadre/corner-top-left.png?1'),
    url('../images/cadre/corner-top-right.png?1'),
    url('../images/cadre/corner-bottom-left.png?1'),
    url('../images/cadre/corner-bottom-right.png?1');
  background-repeat: no-repeat;
  background-position: left top, right top, left bottom, right bottom;
  background-size:
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size),
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size),
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size),
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size);
  pointer-events: none;
}

.naw-home-signup-card > * {
  position: relative;
  z-index: 2;
}


.naw-home-signup-teaser {
  --naw-home-signup-wood-border: 9px;
  --naw-home-signup-corner-size: 80px;
  position: relative;
  z-index: 1;
  isolation: isolate;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(110px, 170px) minmax(0, 1.2fr) minmax(270px, .95fr);
  align-items: center;
  gap: 10px 14px;
  width: min(1180px, calc(100% - 24px));
  margin: 8px auto 0;
  padding: 12px 16px 11px;
  border: 4px solid #9f865e;
  border-radius: 4px;
  background: radial-gradient(#f0dfc3, #f0ddbf, #f0ddbf, #d2b796);
  color: #35291d;
  box-shadow:
    0 22px 46px rgba(25, 17, 8, .34),
    0 7px 16px rgba(25, 17, 8, .22);
}

.naw-home-signup-teaser::before {
  content: '';
  position: absolute;
  inset: -8px;
  z-index: 0;
  box-sizing: border-box;
  border: var(--naw-home-signup-wood-border) solid transparent;
  border-image-source: url('../images/cadre/wood-frame.png?1');
  border-image-slice: 52 55 53 54;
  border-image-width: var(--naw-home-signup-wood-border);
  border-image-repeat: stretch;
  pointer-events: none;
}

.naw-home-signup-teaser::after {
  content: '';
  position: absolute;
  inset: -11px;
  z-index: 1;
  background-image:
    url('../images/cadre/corner-top-left.png?1'),
    url('../images/cadre/corner-top-right.png?1'),
    url('../images/cadre/corner-bottom-left.png?1'),
    url('../images/cadre/corner-bottom-right.png?1');
  background-repeat: no-repeat;
  background-position: left top, right top, left bottom, right bottom;
  background-size:
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size),
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size),
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size),
    var(--naw-home-signup-corner-size) var(--naw-home-signup-corner-size);
  pointer-events: none;
}

.naw-home-signup-teaser > * {
  position: relative;
  z-index: 2;
}

.naw-home-signup-teaser__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.naw-home-signup-teaser__image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(44, 28, 12, .18));
  pointer-events: none;
  user-select: none;
}

.naw-home-signup-teaser__image--fourmi {
  max-height: 106px;
}

.naw-home-signup-teaser__image--abeille {
  position: absolute;
  right: 3px;
  bottom: -3px;
  z-index: 1;
  width: clamp(62px, 7vw, 88px);
  max-width: 32%;
  max-height: 100px;
}

.naw-home-signup-teaser__intro h2 {
  margin: 0;
  color: #342719;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(19px, 1.55vw, 23px);
  font-weight: 700;
  line-height: 1.08;
}

.naw-home-signup-teaser__intro p {
  margin: 5px 0 0;
  color: #4a3b2c;
  font-size: clamp(12px, .95vw, 14px);
  line-height: 1.32;
}

.naw-home-signup-teaser__benefits {
  position: relative;
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 7px clamp(72px, 8vw, 96px) 6px 10px;
  overflow: hidden;
  border: 1px solid rgba(153, 121, 78, .28);
  border-radius: 10px;
  background: rgba(255, 247, 230, .28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42);
}

.naw-home-signup-teaser__benefits > strong,
.naw-home-signup-teaser__benefits > ul,
.naw-home-signup-teaser__benefits > button {
  position: relative;
  z-index: 2;
}

.naw-home-signup-teaser__benefits > strong {
  color: #4b3824;
  font-size: 12px;
  font-weight: 800;
}

.naw-home-signup-teaser__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 3px;
}

.naw-home-signup-teaser__list li {
  position: relative;
  padding-left: 19px;
  color: #3f3328;
  font-size: 12px;
  line-height: 1.2;
}

.naw-home-signup-teaser__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 50%;
  color: #4c8b3c;
  font-size: 15px;
  font-weight: 800;
  transform: translateY(-52%);
}

.naw-home-signup-teaser__reveal {
  justify-self: start;
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #44331f;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.naw-home-signup-teaser__reveal:hover,
.naw-home-signup-teaser__reveal:focus {
  color: #2c2115;
  outline: 0;
  text-decoration-thickness: 2px;
}

.naw-home-signup-teaser .instant-registration-error {
  grid-column: 1 / -1;
  margin-top: -4px;
}

.naw-home-signup-card__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 4px 15px;
}

.naw-home-signup-card__emblem {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  color: #70a83d;
  font-size: 34px;
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .45));
  transform: rotate(-8deg);
}

.naw-home-signup-card__heading h2 {
  margin: 0;
  color: #342719;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(22px, 5vw, 27px);
  font-weight: 700;
  line-height: 1.08;
}

.naw-home-signup-card__heading p {
  margin: 4px 0 0;
  color: #6b5944;
  font-size: 13px;
  line-height: 1.35;
}

.naw-home-signup-form {
  display: grid;
  gap: 10px;
  padding: 0 3px;
}

.naw-home-signup-field {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.naw-home-signup-field > label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  margin: 0;
  color: #3c3023;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
}

.naw-home-signup-field > label .glyphicon {
  width: 15px;
  color: #5d7040;
  font-size: 13px;
  text-align: center;
}

.naw-home-signup-control {
  min-width: 0;
}

.naw-home-signup-form .form-control {
  width: 100%;
  min-width: 0;
  height: 42px;
  margin: 0;
  padding: 8px 10px;
  border: 2px solid #354943;
  border-radius: 4px;
  background: #172824;
  color: #f5f2e9;
  font-size: 13px;
  line-height: 1.2;
  text-align: left;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .20);
}

.naw-home-signup-form .form-control::placeholder {
  color: #8f9b96;
  opacity: 1;
}

.naw-home-signup-form .form-control:focus {
  border-color: #6b9344;
  background: #1b302a;
  box-shadow: 0 0 0 2px rgba(107, 147, 68, .18), inset 0 1px 3px rgba(0, 0, 0, .16);
  outline: 0;
}

.naw-home-signup-form select.form-control {
  padding-right: 30px;
  background-color: #172824 !important;
  color: #f5f2e9 !important;
  -webkit-text-fill-color: #f5f2e9 !important;
  color-scheme: dark;
}

.naw-home-signup-form select.form-control:focus {
  color: #fffaf1 !important;
  -webkit-text-fill-color: #fffaf1 !important;
}

.naw-home-signup-form select.form-control option {
  background: #172824 !important;
  color: #f5f2e9 !important;
}

/* Chrome / Edge : conserver le thème sombre pendant la prévisualisation et
 * après validation d'une proposition du gestionnaire de mots de passe. */
.naw-home-signup-form input.form-control:-webkit-autofill,
.naw-home-signup-form input.form-control:-webkit-autofill:hover,
.naw-home-signup-form input.form-control:-webkit-autofill:focus,
.naw-home-signup-form input.form-control:-webkit-autofill:active,
.naw-home-signup-form input.form-control:autofill {
  -webkit-box-shadow: 0 0 0 1000px #172824 inset !important;
  box-shadow: 0 0 0 1000px #172824 inset !important;
  -webkit-text-fill-color: #f5f2e9 !important;
  color: #f5f2e9 !important;
  caret-color: #f5f2e9 !important;
  color-scheme: dark;
  transition: background-color 9999s ease-out 0s;
}

.naw-home-signup-form input.form-control:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #1b302a inset, 0 0 0 2px rgba(107, 147, 68, .18) !important;
  box-shadow: 0 0 0 1000px #1b302a inset, 0 0 0 2px rgba(107, 147, 68, .18) !important;
}

.naw-home-signup-control {
  position: relative;
}

.naw-home-field-feedback {
  display: none;
  margin-top: 5px;
  padding: 7px 9px;
  border: 1px solid rgba(163, 188, 154, .34);
  border-radius: 6px;
  background: rgba(5, 24, 18, .98);
  color: #edf4ee;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .28);
}

.naw-home-field-feedback:not(:empty) { display: block; }
.naw-home-field-feedback.is-checking {
  border-color: rgba(174, 194, 180, .38);
  background: rgba(22, 43, 36, .98);
  color: #e1ebe3;
}
.naw-home-field-feedback.is-valid {
  border-color: rgba(137, 197, 91, .68);
  background: rgba(28, 64, 27, .98);
  color: #d9f4bd;
}
.naw-home-field-feedback.is-invalid {
  border-color: rgba(220, 119, 102, .68);
  background: rgba(69, 27, 23, .98);
  color: #ffd1ca;
}

.naw-home-signup-form .form-control.is-valid { border-color: #6f9f48; }
.naw-home-signup-form .form-control.is-invalid { border-color: #a9584b; }

.naw-home-signup-form select.form-control.is-customized {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.naw-home-server-picker {
  position: relative;
  width: 100%;
}

.naw-home-server-picker__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #354943;
  border-radius: 4px;
  background: #172824;
  color: #f5f2e9;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  text-align: left;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .20);
  cursor: pointer;
}

.naw-home-server-picker__label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.naw-home-server-picker__toggle::after {
  content: '';
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid #a9b6af;
  border-bottom: 2px solid #a9b6af;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .16s ease;
}

.naw-home-server-picker.is-open .naw-home-server-picker__toggle {
  border-color: #6b9344;
  background: #1b302a;
  box-shadow: 0 0 0 2px rgba(107, 147, 68, .18), inset 0 1px 3px rgba(0, 0, 0, .16);
}

.naw-home-server-picker.is-open .naw-home-server-picker__toggle::after {
  transform: translateY(2px) rotate(225deg);
}

.naw-home-server-picker__menu {
  position: absolute;
  top: calc(100% + 4px);
  right: auto;
  left: 50%;
  z-index: 40;
  width: 110px;
  max-width: calc(100vw - 16px);
  transform: translateX(-50%);
  display: none;
  padding: 4px;
  border: 1px solid #405a4e;
  border-radius: 5px;
  background: #10231d;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .42);
}

.naw-home-server-picker.is-open .naw-home-server-picker__menu {
  display: grid;
  gap: 2px;
}

.naw-home-server-picker__option {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: #f5f2e9;
  font-size: 13px;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.naw-home-server-picker__option:hover,
.naw-home-server-picker__option:focus-visible,
.naw-home-server-picker__option[aria-selected="true"] {
  background: #294437;
  color: #fffdf8;
  outline: 0;
}

.naw-home-password-input {
  position: relative;
}

.naw-home-password-input .form-control {
  padding-right: 40px;
}

.naw-home-password-toggle {
  position: absolute;
  top: 50%;
  right: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #aebbb5;
  font-size: 14px;
  cursor: pointer;
  transform: translateY(-50%);
}

.naw-home-password-toggle:hover,
.naw-home-password-toggle:focus-visible {
  background: rgba(116, 155, 74, .14);
  color: #dce8d5;
  outline: 1px solid rgba(116, 155, 74, .34);
}

.naw-home-signup-form .naw-home-form-error {
  display: none;
  min-height: 0;
  margin-top: 3px;
  color: #8f332a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.28;
  white-space: pre-line;
}

.naw-home-signup-form .naw-home-form-error:not(:empty) {
  display: block;
}

.naw-home-signup-form .naw-home-form-error[hidden],
.naw-home-signup-form .naw-home-form-error:empty {
  display: none !important;
  margin-top: 0;
}

.naw-home-signup-form .naw-home-field-feedback.is-checking {
  border-color: rgba(174, 194, 180, .38);
  background: rgba(22, 43, 36, .98);
  color: #e1ebe3;
}

.naw-home-signup-form .naw-home-field-feedback.is-valid {
  border-color: rgba(137, 197, 91, .68);
  background: rgba(28, 64, 27, .98);
  color: #d9f4bd;
}

.naw-home-signup-form .naw-home-field-feedback.is-invalid {
  border-color: rgba(220, 119, 102, .68);
  background: rgba(69, 27, 23, .98);
  color: #ffd1ca;
}

.naw-home-signup-card .naw-provisional-resume {
  border-color: #526a52;
  background: rgba(17, 42, 34, .94);
  color: #e9eee7;
  box-shadow: inset 0 0 0 1px rgba(151, 176, 132, .08);
}

.naw-home-signup-card .naw-provisional-resume__forget {
  color: #c9d5c3;
}

.naw-home-signup-card .naw-provisional-resume__forget:hover,
.naw-home-signup-card .naw-provisional-resume__forget:focus {
  color: #fff;
}

.naw-home-provisional-card {
  display: grid;
  gap: 14px;
  padding: 2px 3px 3px;
}

.naw-home-provisional-card__heading {
  margin-bottom: 0;
}

.naw-home-provisional-card__copy {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid rgba(112, 168, 61, .34);
  border-radius: 5px;
  background: rgba(17, 42, 34, .82);
  color: #d8e2d4;
  font-size: 13px;
  line-height: 1.45;
}

.naw-home-provisional-card__copy strong {
  color: #f7f2e7;
  font-size: 14px;
}

.naw-home-provisional-card__continue,
.naw-home-provisional-card__forget-form {
  margin: 0;
}

.naw-home-provisional-continue.btn {
  min-height: 48px;
  margin-top: 0;
  background: linear-gradient(180deg, #7aaa43, #557d2d 62%, #456b25);
  border-color: #436522;
  color: #fffaf0;
}

.naw-home-provisional-continue.btn:hover,
.naw-home-provisional-continue.btn:focus {
  background: linear-gradient(180deg, #88b74f, #638d38 62%, #4f762b);
  border-color: #5b8030;
  color: #fff;
}

.naw-home-provisional-card__forget-form {
  text-align: center;
}

.naw-home-provisional-card__forget-form .naw-provisional-resume__forget {
  width: 100%;
  color: #5d503f;
}

.naw-home-provisional-card__forget-form .naw-provisional-resume__forget:hover,
.naw-home-provisional-card__forget-form .naw-provisional-resume__forget:focus {
  color: #35291d;
}

.naw-home-register-submit.btn {
  width: 100% !important;
  min-height: 46px;
  margin-top: 3px;
  border: 1px solid #436522;
  border-radius: 5px;
  background: linear-gradient(180deg, #7aaa43, #557d2d 62%, #456b25);
  color: #fffaf0;
  font-size: 15px;
  font-weight: 900;
  text-shadow: 0 1px 1px rgba(31, 48, 18, .45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .20), 0 2px 5px rgba(0, 0, 0, .20);
}

.naw-home-register-submit.btn:hover,
.naw-home-register-submit.btn:focus {
  border-color: #5b8030;
  background: linear-gradient(180deg, #88b74f, #638d38 62%, #4f762b);
  color: #fff;
  outline: 0;
}

.naw-home-instant-alternative {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 2px;
  color: #665846;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
}

.naw-home-instant-alternative button {
  padding: 2px 3px;
  border: 0;
  background: transparent;
  color: #4f6f31;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.naw-home-instant-alternative button:hover,
.naw-home-instant-alternative button:focus-visible {
  color: #334c21;
  outline: 0;
}

.naw-home-complete-registration {
  display: grid;
  gap: 10px;
  padding-top: 2px;
}

.naw-home-complete-registration[hidden] {
  display: none !important;
}


.naw-home-complete-registration-toggle {
  justify-self: center;
  min-height: 32px;
  margin-top: -2px;
  padding: 4px 8px;
  border: 0;
  background: transparent;
  color: #47652f;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.naw-home-complete-registration-toggle:hover,
.naw-home-complete-registration-toggle:focus-visible {
  color: #2f481f;
  outline: 0;
}

.naw-home-signup-legal {
  margin: 2px 5px 0;
  color: #6f604c;
  font-size: 12px;
  line-height: 1.42;
  text-align: left;
}

.naw-home-signup-legal a {
  color: #425d2d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.instant-registration-error {
  min-height: 0;
  margin: 0;
  color: #8f332a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.instant-registration-error:empty {
  display: none;
}

.instant-registration-error.is-visible:not(:empty) {
  position: relative;
  z-index: 1;
  isolation: isolate;
  display: block;
  padding: 9px 10px;
  border: 1px solid rgba(166, 72, 60, .48);
  border-radius: 5px;
  background: rgba(139, 45, 35, .09);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.instant-registration-error.is-pulsing:not(:empty) {
  animation: nawHomeRegistrationErrorPulse 1.05s ease-in-out 4;
}

.instant-registration-error.is-pulsing:not(:empty)::after {
  content: '';
  position: absolute;
  inset: -5px;
  z-index: -1;
  border: 2px solid rgba(181, 74, 61, .58);
  border-radius: 9px;
  box-shadow: 0 0 0 2px rgba(245, 202, 194, .26);
  pointer-events: none;
  animation: nawHomeRegistrationErrorRing 1.05s ease-out 4;
}

@keyframes nawHomeRegistrationErrorPulse {
  0%, 100% {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 0 0 0 rgba(181, 74, 61, .18);
    transform: translateZ(0) scale(1);
  }
  45% {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 0 0 8px rgba(181, 74, 61, .12);
    transform: translateZ(0) scale(1.012);
  }
  70% {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 0 0 5px rgba(181, 74, 61, .08);
    transform: translateZ(0) scale(1.006);
  }
}

@keyframes nawHomeRegistrationErrorRing {
  0% { opacity: 0; transform: scale(.98); }
  22% { opacity: .95; transform: scale(1); }
  60% { opacity: .48; transform: scale(1.018); }
  100% { opacity: 0; transform: scale(1.035); }
}

.instant-registration-error:focus {
  outline: 2px solid rgba(143, 51, 42, .34);
  outline-offset: 2px;
}

.naw-home .naw-provisional-resume,
.naw-home .naw-provisional-resume-feedback {
  margin-bottom: 9px;
}

/* Le feedback ne doit jamais créer un faux pavé beige, surtout lorsqu'il est vide. */
.naw-home .naw-provisional-resume-feedback {
  border-radius: 0;
  background: transparent;
}

.naw-home .naw-provisional-resume-feedback:empty {
  display: none !important;
  margin: 0;
  padding: 0;
  border: 0;
}

.naw-home .naw-provisional-resume-feedback.is-success { background: #dcefd2; }
.naw-home .naw-provisional-resume-feedback.is-error { background: #f3d0ca; }

.naw-home-quick-play {
  position: fixed;
  right: 2px;
  bottom: 10px;
  left: 2px;
  z-index: 115;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  width: min(calc(100% - 20px), 356px);
  max-width: 356px;
  margin-inline: auto;
  padding: 6px 7px 6px 9px;
  border: 1px solid rgba(91, 151, 63, .78);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(7, 31, 22, .985), rgba(3, 20, 14, .985));
  color: #eef7e9;
  box-shadow:
    inset 0 0 0 1px rgba(134, 190, 92, .13),
    0 8px 26px rgba(0, 0, 0, .32),
    0 0 20px rgba(87, 150, 52, .09);
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(100% + 22px));
  transition: opacity .2s ease, transform .22s ease, border-color .2s ease;
}

.naw-home-quick-play.is-visible {
  font-size: 12px;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.naw-home-quick-play__emblem {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  color: #7fc34e;
  font-size: 26px;
  filter: drop-shadow(0 0 7px rgba(102, 180, 64, .28));
  transform: rotate(-8deg);
}

.naw-home-quick-play__copy,
.naw-home-quick-play strong,
.naw-home-quick-play small { display: block; }

.naw-home-quick-play strong {
  color: #fffdf5;
  font-size: 13px;
  line-height: 1.1;
}

.naw-home-quick-play small {
  margin-top: 2px;
  color: #afc1b5;
  font-size: 12px;
  line-height: 1.1;
  white-space: nowrap;
}

.naw-home-quick-play .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto !important;
  min-width: 118px;
  max-width: 152px;
  min-height: 38px;
  height: auto !important;
  padding-inline: 12px;
  border: 1px solid #4d742d;
  border-radius: 7px;
  background: linear-gradient(180deg, #82b84b, #5f9136 58%, #4d7c2e);
  color: #fffdf4;
  font-size: 12px;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 0 12px rgba(104, 177, 61, .18);
  text-shadow: 0 1px 1px rgba(28, 48, 18, .55);
}

.naw-home-quick-play.is-resume .btn {
  width: 166px !important;
  min-width: 166px;
  max-width: 166px;
}

.naw-home-quick-play .btn:hover,
.naw-home-quick-play .btn:focus {
  border-color: #73a645;
  background: linear-gradient(180deg, #93cb58, #6ca440 58%, #588a34);
  color: #fff;
  outline: 0;
}

/* Récupération de mot de passe : même langage visuel que l'inscription.
 * Pas de translation Bootstrap : ouverture/fermeture nette, sans traînée. */
.naw-home-forgot-modal,
.naw-home-forgot-modal.fade,
.naw-home-forgot-modal.fade.in {
  transition: none !important;
}

.naw-home-forgot-modal.in {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px !important;
}

.naw-home-forgot-modal .modal-dialog,
.naw-home-forgot-modal.fade .modal-dialog,
.naw-home-forgot-modal.in .modal-dialog {
  width: min(calc(100vw - 24px), 430px);
  margin: auto !important;
  transform: none !important;
  transition: none !important;
}

.naw-home-forgot-modal .modal-content {
  overflow: hidden;
  border: 1px solid #8f713b;
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .035), transparent 42%),
    linear-gradient(180deg, rgba(10, 31, 26, .99), rgba(5, 22, 19, .995));
  color: #f3eee4;
  box-shadow:
    inset 0 0 0 2px rgba(187, 151, 78, .12),
    0 24px 62px rgba(0, 0, 0, .58),
    0 7px 18px rgba(0, 0, 0, .30);
}

.naw-home-forgot-modal .modal-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 13px 52px;
  border-bottom: 1px solid rgba(137, 184, 99, .20);
  background: linear-gradient(180deg, rgba(19, 51, 42, .98), rgba(11, 35, 28, .98));
}

.naw-home-forgot-modal .modal-header h2 {
  width: 100%;
  margin: 0;
  color: #fff7e8;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
}

.naw-home-forgot-modal .modal-header .naw-page-help-close {
  position: absolute;
  top: 50%;
  right: 14px;
  float: none;
  margin: 0;
  color: #e8f2e2;
  transform: translateY(-50%);
}

.naw-home-forgot-modal .modal-header .naw-page-help-close:hover,
.naw-home-forgot-modal .modal-header .naw-page-help-close:focus {
  color: #fff;
  outline: 0;
}

.naw-home-forgot-modal .modal-body {
  padding: 18px 18px 20px;
  background: rgba(5, 22, 19, .56);
}

.naw-home-forgot-intro {
  margin: 0 0 15px;
  color: #c8d2c9;
  font-size: 13px;
  line-height: 1.5;
}

.naw-home-forgot-feedback:empty,
.naw-home-forgot-error:empty { display: none; }

.naw-home-forgot-feedback {
  margin-bottom: 12px;
  color: #cce9ad;
  font-size: 12px;
  line-height: 1.4;
}

.naw-home-forgot-error {
  margin: -2px 0 8px;
  color: #ffb7ad;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.naw-home-forgot-form { display: grid; gap: 6px; }

.naw-home-forgot-form label {
  margin: 4px 0 0;
  color: #eef1e8;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
}

.naw-home-forgot-modal .naw-home-forgot-form .form-control {
  height: 42px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid #354943;
  border-radius: 5px;
  background: #172824;
  color: #f5f2e9;
  -webkit-text-fill-color: #f5f2e9;
  font-size: 14px;
  text-align: left;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .20);
  color-scheme: dark;
}

.naw-home-forgot-modal .naw-home-forgot-form .form-control::placeholder {
  color: #8f9b96;
  opacity: 1;
}

.naw-home-forgot-modal .naw-home-forgot-form .form-control:focus {
  border-color: #6b9344;
  background: #1b302a;
  box-shadow: 0 0 0 2px rgba(107, 147, 68, .18), inset 0 1px 3px rgba(0, 0, 0, .16);
  outline: 0;
}

.naw-home-forgot-submit.btn {
  width: 100%;
  min-height: 44px;
  margin-top: 9px;
  border: 1px solid #4d742d;
  background: linear-gradient(180deg, #82b84b, #5f9136 58%, #4d7c2e);
  color: #fffdf4;
  font-size: 13px;
  font-weight: 800;
  text-shadow: 0 1px 1px rgba(28, 48, 18, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 12px rgba(103, 161, 59, .16), 0 1px 2px rgba(0, 0, 0, .28);
  white-space: normal;
}

.naw-home-forgot-submit.btn:hover,
.naw-home-forgot-submit.btn:focus {
  border-color: #73a645;
  background: linear-gradient(180deg, #93cb58, #6ca440 58%, #588a34);
  color: #fff;
}

.naw-home-forgot-new-account {
  margin: 15px 0 0;
  color: #c3d1c6;
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}

.naw-home-forgot-new-account a {
  color: #c3d1c6;
  text-decoration: none;
}

.naw-home-forgot-new-account strong {
  color: #9fcf71;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.naw-home-forgot-new-account a:hover strong,
.naw-home-forgot-new-account a:focus strong {
  color: #d3efb4;
}

.naw-home-forgot-new-account a:focus {
  outline: 0;
}

.naw-home-forgot-help {
  margin: 15px 0 0;
  color: #b9c6bc;
  font-size: 12px;
  line-height: 1.45;
}

.naw-home-forgot-help a {
  color: #9fcf71;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.naw-home-modal .modal-content {
  overflow: hidden;
  border: 1px solid rgba(126, 177, 72, .50);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(12, 32, 27, .98), rgba(5, 20, 14, .99));
  color: #edf5e8;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .58), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.naw-home-modal .modal-body {
  padding: 8px;
  background: rgba(3, 14, 10, .72);
}

.naw-home-modal .modal-body img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(151, 195, 102, .22);
  border-radius: 7px;
  background: #06150f;
}

.naw-home-modal .modal-footer {
  padding: 10px 12px;
  border-top: 1px solid rgba(126, 177, 72, .22);
  background: rgba(9, 29, 22, .96);
}

.naw-home-modal .modal-footer .btn-default {
  min-width: 96px;
  border: 1px solid #54752f;
  border-radius: 7px;
  background: linear-gradient(180deg, #7da44b, #4d712c);
  color: #fff8e9;
  font-size: 12px;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.naw-home-modal .modal-footer .btn-default:hover,
.naw-home-modal .modal-footer .btn-default:focus {
  border-color: #6f9341;
  background: linear-gradient(180deg, #8ab456, #587f33);
  color: #fff;
  outline: 0;
}

.naw-home-modal .form-control { margin-bottom: 10px; }
.naw-home-modal--wide { width: min(94vw, 1180px); }

/* Le formulaire mot de passe conserve ses espacements propres malgré les règles
 * génériques des modales de captures définies ci-dessus. */

@media (prefers-reduced-motion: reduce) {
  .naw-home *, .naw-home *::before, .naw-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .naw-home-online-indicator > span,
  .naw-home-online-indicator::after { animation: none !important; }
}

/* À partir du format tablette, la première section occupe exactement le
 * viewport : elle ne doit plus grandir de quelques pixels à cause de son contenu. */
@media (min-width: 669px) {
  .naw-home-hero {
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    min-height: 0;
    max-height: 100dvh;
  }
}

@media (max-width: 359px) {
  :root { --naw-home-login-height: 118px; }

  .naw-home-login__inner { width: min(100%, calc(100% - 4px)); }
  .naw-home-login-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .naw-home-login .naw-home-forgot { justify-self: center; margin-top: 1px; }
}

@media (min-width: 640px) {
  :root {
    --naw-home-nav-height: 52px;
    --naw-home-login-height: 72px;
  }

  .naw-home-login { padding: 0 14px; }
  .naw-home-login__inner {
    width: min(720px, calc(100% - 20px));
    gap: 3px;
    padding: 6px 8px 5px;
  }
  .naw-home-login .naw-home-forgot { font-size: 12px; }
  .naw-home-login-form { gap: 7px; }
  .naw-home-login-field,
  .naw-home-login__submit.btn { height: 36px !important; min-height: 36px; }
  .naw-home-login-field > span { font-size: 12px; }
  .naw-home-login-field .form-control { font-size: 14px; }
  .naw-home-login-field select.form-control { font-size: 13px; }
  .naw-home-login__submit.btn { font-size: 13px; }

  .naw-home-hero h1 { font-size: clamp(29px, 4.5vw, 44px); }
  .naw-home-hero__lead {
    display: block;
    margin-top: 12px;
    overflow: visible;
    font-size: clamp(13px, 1.8vw, 17px);
    line-height: 1.55;
  }
  .naw-home-stats { gap: 0; margin-top: 16px; padding: 8px 6px; }
  .naw-home-stats .naw-home-stat { grid-template-columns: 27px minmax(0, auto); gap: 6px; padding: 6px 15px 6px 8px; }
  .naw-home-stats img { width: 27px; height: 27px; }
  .naw-home-stats .naw-home-stat__copy > span { font-size: 12px; }
  .naw-home-hero__links { display: flex; margin-top: 16px; }

}


@media (min-width: 768px) {
  .naw-home-logo { display: block; width: min(245px, 34vw); margin-left: 0; }
}
@media (min-width: 1100px) {
  .naw-home-local-nav {
    display: grid;
    grid-template-columns: minmax(184px, 210px) minmax(0, 1fr) 270px;
    column-gap: 10px;
    padding-inline: 18px;
  }
  .naw-home-menu-toggle { display: none !important; }
  .naw-home-nav-logo {
    grid-column: 1;
    display: flex;
    width: auto;
  }
  .naw-home-nav-actions {
    position: static;
    grid-column: 3;
    justify-self: end;
  }
.naw-home-nav-play {
    min-height: 38px;
    padding-inline: 12px;
    font-size: 13px;
  }
  .naw-home-nav-play {
    display: inline-flex;
    font-size: 14px;
  }
  .naw-home-local-nav__links {
    position: static;
    grid-column: 2;
    display: flex;
    min-width: 0;
    justify-self: start;
    justify-content: flex-start;
    gap: 5px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .naw-home-local-nav__links::before {
    display: none;
  }
  .naw-home-local-nav__links a {
    min-height: 0;
    padding: 7px 11px;
    border-radius: 999px;
    background: transparent;
    font-size: 15px;
    letter-spacing: .045em;
    transform: none;
  }

  .naw-home-local-nav__links a::before {
    display: none;
  }

  .naw-home-local-nav__links a:hover,
  .naw-home-local-nav__links a:focus,
  .naw-home-local-nav__links a:focus-visible {
    border-color: rgba(141, 188, 94, .24);
    background: rgba(75, 113, 51, .23);
    transform: translateY(-1px);
  }

  .naw-home-local-nav.has-compact-logo .naw-home-nav-logo {
    position: static;
    display: flex !important;
    width: auto;
    height: 40px;
    opacity: 1;
    transform: translateY(0);
  }

  .naw-home-local-nav.has-compact-logo .naw-home-nav-logo img {
    width: 52px;
    max-height: 36px;
  }

  .naw-home-local-nav.has-compact-logo .naw-home-nav-brand { display: inline; }
}


@media (min-width: 1100px) and (max-width: 1239px) {
  .naw-home-local-nav {
    grid-template-columns: minmax(170px, 188px) minmax(0, 1fr) 254px;
    column-gap: 10px;
    padding-inline: 12px;
  }

  .naw-home-local-nav__links { gap: 2px; }
  .naw-home-local-nav__links a { padding-inline: 8px; font-size: 14px; }
.naw-home-nav-play { padding-inline: 10px; }
}


@media (max-width: 899px) {
  .naw-home-login-field__label > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .naw-home-login-field { grid-template-columns: 16px minmax(0, 1fr); gap: 4px; }
}

@media (min-width: 900px) {
  .naw-home-login { padding-block: 0; }
  .naw-home-login__inner {
    width: min(794px, calc(100% - 40px));
    gap: 3px;
    padding: 6px 8px 5px;
  }
  .naw-home-login .naw-home-forgot { font-size: 12px; }
  .naw-home-login-form {
    grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.15fr) minmax(170px, 1.05fr) 108px;
    justify-content: center;
    gap: 8px;
  }
  .naw-home-login-field { padding-inline: 0; }
  .naw-home-login-field > span { font-size: 12px; }
  .naw-home-login-field .form-control { font-size: 14px; }
  .naw-home-login-field select.form-control { font-size: 13px; }
  .naw-home-login__submit.btn { font-size: 13px; }

  .naw-home-hero h1 { font-size: clamp(32px, 3.4vw, 46px); }
  .naw-home-signup-card {
    justify-self: end;
    width: min(100%, 380px);
    padding: 22px 20px 18px;
  }
}


/* Tablette / petit desktop : transition progressive a partir de 669 px
 * entre le cadrage mobile et le hero desktop plein ecran en cover. */
@media (min-width: 669px) and (max-width: 1179px) {
  .naw-home-hero {
    background:
      linear-gradient(90deg,
        rgba(1, 8, 5, .54) 0%,
        rgba(1, 8, 5, .38) 34%,
        rgba(1, 8, 5, .17) 57%,
        rgba(1, 8, 5, 0) 78%),
      radial-gradient(ellipse 58% 42% at 69% 30%,
        rgba(3, 13, 9, .03) 3%,
        rgba(3, 13, 9, .10) 30%,
        rgba(3, 13, 9, .31) 50%,
        rgba(3, 11, 8, .66) 70%,
        rgba(2, 8, 5, .83) 84%,
        rgba(1, 5, 3, .95) 100%),
      var(--naw-home-hero-image-url) 28% 27% / cover no-repeat;
    background-color: #16251b;
  }
}

/* À partir de 900 px, le cadrage desktop prend volontairement le dessus sur
 * le bloc tablette 669-1179 px ci-dessus. */
@media (min-width: 900px) {
  .naw-home-hero {
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    min-height: 0;
    max-height: 100dvh;
    padding: calc(var(--naw-home-nav-height) + var(--naw-home-login-height)) max(34px, calc((100vw - 1280px) / 2)) clamp(8px, 1.2vh, 14px);
    background:
      linear-gradient(90deg,
        rgba(1, 8, 5, .48) 0%,
        rgba(1, 8, 5, .34) 31%,
        rgba(1, 8, 5, .16) 52%,
        rgba(1, 8, 5, 0) 72%),
      radial-gradient(ellipse 55% 75% at 58% 35%,
        rgba(4, 18, 12, .04) 0%,
        rgba(4, 18, 12, .08) 30%,
        rgba(3, 14, 9, .32) 48%,
        rgba(3, 12, 8, .70) 68%,
        rgba(2, 8, 5, .92) 85%,
        rgba(1, 5, 3, .985) 100%),
      var(--naw-home-hero-image-url) center / cover no-repeat;
  }
}



/* Ajustements accueil : boutons longs et section active du menu. */
.naw-home-local-nav__links a.is-current {
  padding-right: 46px;
  overflow: visible;
  border-color: rgba(139, 190, 91, .22);
  background: linear-gradient(90deg,
    rgba(126, 177, 72, .14) 0%,
    rgba(126, 177, 72, .075) 42%,
    rgba(126, 177, 72, .025) 72%,
    rgba(126, 177, 72, 0) 100%);
  color: #f7ffe9;
  font-weight: 800;
  box-shadow:
    inset 3px 0 0 #8fc45a,
    inset 0 1px 0 rgba(255, 255, 255, .025);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .52);
  transform: none;
}

/* Repere fixe de la section courante : aucun halo pulsant ni reflet mobile. */
.naw-home-local-nav__links a.is-current::before {
  z-index: 2;
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 2px;
  background: #9ed269;
  box-shadow: 0 0 0 3px rgba(158, 210, 105, .10), 0 0 8px rgba(139, 194, 83, .28);
  transform: translateY(-50%) rotate(45deg);
  animation: none;
}

.naw-home-local-nav__links a.is-current::after {
  content: '✓';
  position: absolute;
  top: 50%;
  right: 13px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(151, 203, 101, .38);
  border-radius: 50%;
  background: rgba(63, 110, 50, .22);
  color: #dff2c4;
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
}

@media (min-width: 1100px) {
  .naw-home-local-nav__links a.is-current {
    padding-right: 11px;
    border-color: transparent;
    background: transparent;
    color: #e5f3cf;
    box-shadow: none;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .48);
    transform: none;
  }

  .naw-home-local-nav__links a.is-current::before {
    display: block;
    top: auto;
    bottom: -4px;
    left: 50%;
    width: 6px;
    height: 6px;
    border: 1px solid rgba(181, 221, 136, .72);
    border-radius: 1px;
    background: #7fb34e;
    box-shadow: 0 0 7px rgba(133, 188, 78, .34);
    transform: translateX(-50%) rotate(45deg);
  }

  .naw-home-local-nav__links a.is-current::after {
    content: '';
    top: auto;
    right: 9px;
    bottom: -2px;
    left: 9px;
    display: block;
    width: auto;
    height: 2px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg,
      transparent,
      rgba(139, 190, 91, .56) 20%,
      #9dcd6b 50%,
      rgba(139, 190, 91, .56) 80%,
      transparent);
    box-shadow: 0 0 6px rgba(126, 177, 72, .24);
    transform: none;
  }
}

/* Ajustements hero : CTA larges sur desktop, compacts avant 1098 px. */
@media (min-width: 640px) and (max-width: 1097px) {
  .naw-home-hero__links {
    flex-wrap: nowrap;
    gap: 8px;
  }

.naw-home-hero__links .btn-normal-xl-green {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding-inline: 11px !important;
    font-size: clamp(13px, 1.45vw, 15px);
    white-space: nowrap;
  }
}

@media (max-width: 479px) {
.naw-home-hero__links .btn-normal-xl-green {
    width: 100%;
    min-width: 0;
  }

  .naw-home-stats { padding-inline: 4px; }
  .naw-home-stats .naw-home-stat {
    grid-template-columns: 24px minmax(0, auto);
    gap: 5px;
    padding: 4px 13px 4px 6px;
  }
  .naw-home-stats img { width: 24px; height: 24px; }
  .naw-home-online-indicator { width: 24px; height: 24px; }
}

/* Mobile : contenu du hero sur la moitie gauche, decor preserve a droite.
 * L'illustration est bornee au bloc visuel jusqu'a 668 px. */
@media (max-width: 668px) {
  .naw-home-hero {
    align-content: start;
    gap: 0;
    padding: 0 0 clamp(14px, 2.5vh, 24px);
    background: #16251b;
  }

  .naw-home-hero__visual {
    display: block;
    width: 100%;
    padding: calc(var(--naw-home-nav-height) + var(--naw-home-login-height) + clamp(16px, 2.8vh, 30px)) 12px clamp(14px, 2.5vh, 24px);
    background:
      linear-gradient(90deg,
        rgba(1, 8, 5, .58) 0%,
        rgba(1, 8, 5, .44) 38%,
        rgba(1, 8, 5, .20) 61%,
        rgba(1, 8, 5, 0) 84%),
      radial-gradient(ellipse 56% 42% at 66% 44%,
        rgba(3, 13, 9, .03) 0%,
        rgba(3, 13, 9, .08) 32%,
        rgba(3, 13, 9, .27) 51%,
        rgba(3, 11, 8, .61) 72%,
        rgba(2, 8, 5, .72) 83%,
        rgba(2, 8, 5, .84) 92%,
        rgba(1, 5, 3, .92) 100%),
      var(--naw-home-hero-image-url) 24% 0% / cover no-repeat;
    background-color: #16251b;
  }

  .naw-home-hero__content {
    justify-self: start;
    width: 50%;
    max-width: 50%;
    margin-inline: 0;
    filter: none;
  }

  .naw-home-hero__content > h1,
  .naw-home-hero__content > .naw-home-hero__lead {
    max-width: 100%;
  }

  .naw-home-hero h1 {
    font-size: clamp(19px, 5.35vw, 24px);
    line-height: 1.08;
  }

  .naw-home-hero__lead {
    margin-top: 7px;
    font-size: clamp(12px, 3.15vw, 13px);
    line-height: 1.38;
    -webkit-line-clamp: 5;
  }

  .naw-home-hero__links {
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    width: 100%;
    margin-top: 11px;
    filter: none;
  }

.naw-home-hero__links .btn-normal-xl-green {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 8px 7px !important;
    font-size: clamp(12px, 3.25vw, 13px);
    line-height: 1.15;
    white-space: normal;
  }

  .naw-home-stats {
    width: 200%;
    max-width: none;
    margin-top: 10px;
    padding: 7px 4px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, .035), transparent 42%),
      linear-gradient(180deg, rgba(10, 31, 26, .98), rgba(5, 22, 19, .98));
    box-shadow: 0 12px 28px rgba(0, 0, 0, .30);
    filter: none;
  }

  .naw-home-stats .naw-home-stat {
    grid-template-columns: 22px minmax(0, auto);
    gap: 5px;
    padding: 4px 13px 4px 6px;
  }

  .naw-home-stats img {
    width: 22px;
    height: 22px;
  }

  .naw-home-online-indicator {
    width: 22px;
    height: 22px;
  }

  .naw-home-online-indicator > span {
    width: 9px;
    height: 9px;
  }

  .naw-home-online-indicator::before {
    width: 17px;
    height: 17px;
  }

  .naw-home-stats strong {
    font-size: clamp(14px, 4vw, 17px);
  }

  .naw-home-stats .naw-home-stat__copy > span {
    margin-top: 2px;
    font-size: 12px;
  }

  .naw-home-signup-card {
    width: calc(100% - 24px);
    margin-top: 10px;
  }
}


/* Ajustements mobiles : connexion pleine largeur, carte d'inscription plus compacte
 * et decor du hero totalement degage sur sa moitie droite. */
@media (max-width: 899px) {
  .naw-home-signup-card {
    padding: 14px 12px 12px;
  }

  .naw-home-signup-card__heading {
    gap: 8px;
    margin: 0 2px 10px;
  }

  .naw-home-signup-card__emblem {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    font-size: 27px;
  }

  .naw-home-signup-card__heading h2 {
    font-size: clamp(19px, 5vw, 22px);
  }

  .naw-home-signup-card__heading p,
  .naw-home-signup-field > label,
  .naw-home-signup-form .naw-home-form-error {
    font-size: 12px;
  }

  .naw-home-signup-form {
    gap: 7px;
    padding-inline: 2px;
  }

  .naw-home-signup-field {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 7px;
  }

  .naw-home-signup-field > label {
    min-height: 36px;
    gap: 5px;
  }

  .naw-home-signup-form .form-control,
  .naw-home-server-picker__toggle {
    height: 36px;
    min-height: 36px;
    padding-block: 6px;
    font-size: 12px;
  }

  .naw-home-password-toggle {
    width: 29px;
    height: 29px;
  }

  .naw-home-register-submit.btn {
    min-height: 42px;
    font-size: 13px;
  }
}

@media (min-width: 360px) and (max-width: 639px) {
  .naw-home-login-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 74px 92px;
  }

  .naw-home-login__submit.btn {
    padding-inline: 6px !important;
    font-size: 12px;
  }
}

/* Selects sombres sans popup natif blanc. */
.naw-home-signup-legal {
  margin: 2px 0 0;
}

.naw-home-login-server-control {
  position: relative;
  width: 100%;
  min-width: 0;
}

.naw-home-login-server-control select.form-control.is-customized {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.naw-home-server-picker--login {
  width: 100%;
  min-width: 0;
}

.naw-home-server-picker--login .naw-home-server-picker__toggle {
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 5px 4px 5px 7px;
  border-color: #2c4940;
  border-radius: 3px;
  background: #132a24;
  color: #f5fbf7;
  font-size: 13px;
  font-weight: 600;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .28);
}

.naw-home-server-picker--login.is-open .naw-home-server-picker__toggle {
  border-color: #6fa34d;
  background: #17352d;
  box-shadow: 0 0 0 2px rgba(111, 163, 77, .16), inset 0 1px 3px rgba(0, 0, 0, .22);
}

.naw-home-server-picker--login .naw-home-server-picker__menu {
  z-index: 150;
  background: #10231d;
}

.naw-home-server-picker--login .naw-home-server-picker__option {
  min-height: 32px;
  padding: 6px 8px;
  color: #f5fbf7;
  font-size: 13px;
}

@media (max-width: 969px) {
  .naw-home-stats {
    padding: 6px 3px;
  }

  .naw-home-stats .naw-home-stat {
    grid-template-columns: 20px minmax(0, auto);
    gap: 4px;
    padding: 3px 10px 3px 4px;
  }

  .naw-home-stats img {
    width: 20px;
    height: 20px;
  }

  .naw-home-stats strong {
    font-size: clamp(13px, 3.4vw, 15px);
  }

  .naw-home-stats .naw-home-stat__copy > span {
    margin-top: 1px;
    font-size: 12px;
    line-height: 1.05;
  }

  .naw-home-stat__separator {
    height: 28px;
  }
}

/* Connexion accueil : le remember-me devient un choix explicite. */
.naw-home-login-form {
  align-items: start;
}

.naw-home-login-field--identity,
.naw-home-login-field--password {
  height: auto !important;
  min-height: 0;
  align-items: start;
}

.naw-home-login-field--identity > .naw-home-login-field__label,
.naw-home-login-field--password > .naw-home-login-field__label {
  margin-top: 11px;
}

.naw-home-login-field__stack {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.naw-home-login-remember,
.naw-home-login-modal__remember {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: #cbd9d1;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.naw-home-login-remember {
  margin-top: 5px;
}

.naw-home-login-remember input,
.naw-home-login-modal__remember input {
  width: 13px;
  height: 13px;
  margin: 0;
  accent-color: #6f9d43;
}

/* Sur téléphone la barre horizontale est remplacée par une vraie modale. */
.naw-home-mobile-login-trigger {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #4d742d;
  border-radius: 8px;
  background: linear-gradient(180deg, #82b84b, #5f9136 58%, #4d7c2e);
  color: #fffdf4;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 1px 1px rgba(28, 48, 18, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 12px rgba(103, 161, 59, .16), 0 1px 2px rgba(0, 0, 0, .28);
  white-space: nowrap;
  cursor: pointer;
}

.naw-home-mobile-login-trigger:hover,
.naw-home-mobile-login-trigger:focus {
  border-color: #73a645;
  background: linear-gradient(180deg, #93cb58, #6ca440 58%, #588a34);
  color: #fff;
  outline: 0;
}

.naw-home-login-modal {
  padding: 12px !important;
}

.naw-home-login-modal.in {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.naw-home-login-modal .modal-dialog {
  width: min(420px, 100%);
  margin: 0 auto;
}

.naw-home-login-modal .modal-content {
  overflow: hidden;
  border: 1px solid #405a4e;
  border-radius: 10px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .035), transparent 42%),
    linear-gradient(180deg, rgba(10, 31, 26, .98), rgba(5, 22, 19, .98));
  color: #eef5eb;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .55);
}

.naw-home-login-modal .modal-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px 52px;
  border-bottom: 1px solid rgba(196, 219, 182, .16);
  background: linear-gradient(180deg, #17342b, #11271f);
}

.naw-home-login-modal .modal-header h2 {
  width: 100%;
  margin: 0;
  color: #f7f1df;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 22px;
  font-weight: 800;
  text-align: center;
}

.naw-home-login-modal .naw-page-help-close {
  position: absolute;
  top: 50%;
  right: 14px;
  float: none;
  margin: 0;
  color: #eef5eb;
  transform: translateY(-50%);
}

.naw-home-login-modal .modal-body {
  padding: 15px 14px 16px;
}

.naw-home-login-modal__feedback {
  display: none;
  margin: 0 0 10px;
  padding: 9px 10px;
  border: 1px solid #8d4d45;
  border-radius: 6px;
  background: rgba(118, 43, 37, .28);
  color: #ffd2cc;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.naw-home-login-modal__feedback.is-visible,
.naw-home-login-modal__feedback:not(:empty) {
  display: block;
}

.naw-home-login-modal__form {
  display: grid;
  gap: 6px;
}

.naw-home-login-modal__form > label:not(.naw-home-login-modal__remember) {
  margin: 3px 0 0;
  color: #e8f0e5;
  font-size: 12px;
  font-weight: 800;
}

.naw-home-login-modal .naw-home-login-modal__form .form-control {
  width: 100%;
  height: 42px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid #355249;
  border-radius: 5px;
  background: #152e27;
  color: #fff;
  -webkit-text-fill-color: #fff;
  font-size: 14px;
  text-align: left;
  color-scheme: dark;
}

.naw-home-login-modal .naw-home-login-modal__form .form-control:focus {
  border-color: #74a34b;
  background: #19382f;
  box-shadow: 0 0 0 2px rgba(116, 163, 75, .18);
  outline: 0;
}

.naw-home-login-modal .naw-home-server-picker--login .naw-home-server-picker__toggle {
  min-height: 42px;
  height: 42px;
  padding: 7px 9px;
  border-color: #355249;
  background: #152e27;
  color: #fff;
  font-size: 14px;
}

.naw-home-login-modal .naw-home-server-picker--login.is-open .naw-home-server-picker__toggle {
  border-color: #74a34b;
  background: #19382f;
}

.naw-home-login-modal__remember {
  min-height: 24px;
  color: #cbd9d1;
  font-size: 12px;
}

.naw-home-login-modal__submit.btn {
  width: 100%;
  min-height: 44px;
  margin-top: 7px;
  border: 1px solid #4d742d;
  background: linear-gradient(180deg, #82b84b, #5f9136 58%, #4d7c2e);
  color: #fffdf4;
  font-size: 14px;
  text-shadow: 0 1px 1px rgba(28, 48, 18, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 12px rgba(103, 161, 59, .16), 0 1px 2px rgba(0, 0, 0, .28);
}

.naw-home-login-modal__submit.btn:hover,
.naw-home-login-modal__submit.btn:focus {
  border-color: #73a645;
  background: linear-gradient(180deg, #93cb58, #6ca440 58%, #588a34);
  color: #fff;
}

.naw-home-login-modal__submit.btn[disabled] {
  opacity: .7;
  cursor: wait;
}

.naw-home-login-modal__forgot {
  display: block;
  margin: 11px auto 0;
  padding: 3px 4px;
  border: 0;
  background: transparent;
  color: #a9d184;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.naw-home-login-modal__forgot:hover,
.naw-home-login-modal__forgot:focus {
  color: #d7efc1;
  outline: 0;
}

.naw-home-login-modal__provisional {
  display: grid;
  gap: 7px;
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid rgba(130, 184, 75, .42);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(42, 76, 46, .48), rgba(10, 37, 27, .82));
  color: #eaf3e5;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.naw-home-login-modal__provisional[hidden],
.naw-home-login-modal__provisional[style*="display:none"] {
  display: none !important;
}

.naw-home-login-modal__provisional-kicker {
  color: #9dcc70;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.naw-home-login-modal__provisional > strong {
  color: #fff8eb;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  line-height: 1.15;
}

.naw-home-login-modal__provisional-copy {
  color: #cbd8cd;
  font-size: 12px;
  line-height: 1.35;
}

.naw-home-login-modal__provisional .naw-provisional-resume-feedback {
  margin: 0;
  color: #ffd0c8;
  font-size: 12px;
  font-weight: 700;
}

.naw-home-login-modal__provisional .naw-provisional-resume-feedback:empty {
  display: none;
}

.naw-home-login-modal__provisional-actions {
  display: grid;
  /* Sépare volontairement l'action destructive du bouton de reprise afin
   * d'éviter les clics accidentels, en particulier sur écran tactile. */
  gap: 12px;
  margin-top: 5px;
}

.naw-home-login-modal__provisional-actions .btn {
  width: 100%;
  min-height: 40px;
}

.naw-home-login-modal__provisional-forget {
  appearance: none;
  justify-self: center;
  padding: 6px 8px;
  border: 0;
  background: transparent;
  color: #b7c7ba;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.naw-home-login-modal__provisional-forget:hover,
.naw-home-login-modal__provisional-forget:focus {
  color: #fff;
  outline: 0;
}

.naw-home-login-modal__new-account {
  margin: 8px 0 0;
  color: #c3d1c6;
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}

.naw-home-login-modal__new-account a {
  color: #9fcf71;
  text-decoration: none;
}

.naw-home-login-modal__new-account strong {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.naw-home-login-modal__new-account a:hover,
.naw-home-login-modal__new-account a:focus {
  color: #d3efb4;
  outline: 0;
}

@media (min-width: 900px) {
  :root { --naw-home-login-height: 86px; }
  .naw-home-mobile-login-trigger { display: none; }
}

@media (max-width: 899px) {
  :root { --naw-home-login-height: 0px; }

  .naw-home-login {
    display: none;
    padding-inline: 0;
  }

  .naw-home-login__inner {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  /* Sur tablette/mobile la barre de connexion est masquée : contrairement au
   * desktop, elle ne peut donc plus remonter le hero derrière le menu. On
   * compense directement la hauteur du menu pour que le fond commence à y=0. */
  .naw-home-hero {
    margin-top: calc(-1 * var(--naw-home-nav-height));
  }

  .naw-home-hero__lead {
    -webkit-line-clamp: 4;
  }
}

/* ========================================================================== */
/* Accueil - contenu sous le hero (maquettes desktop / tablette / mobile).    */
/* Le hero est volontairement exclu de ce bloc : il reste une zone figée.    */
/* ========================================================================== */

.naw-home-lower {
  --naw-home-lower-bg: #061b13;
  --naw-home-lower-bg-soft: #0a241a;
  --naw-home-lower-panel: rgba(8, 31, 22, .94);
  --naw-home-lower-panel-strong: rgba(11, 39, 28, .98);
  --naw-home-lower-line: rgba(135, 184, 99, .30);
  --naw-home-lower-line-strong: rgba(138, 198, 91, .58);
  --naw-home-lower-accent: #82b84b;
  --naw-home-lower-accent-soft: #b7d58b;
  --naw-home-lower-text: #f5efe5;
  --naw-home-lower-muted: #c7d0c7;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-top: 1px solid rgba(140, 191, 102, .34);
  background:
    radial-gradient(circle at 0 18%, rgba(92, 143, 65, .15), transparent 24%),
    radial-gradient(circle at 100% 55%, rgba(83, 128, 58, .12), transparent 24%),
    linear-gradient(180deg, rgba(5, 26, 18, .89), rgba(3, 20, 14, .94)),
    url('../images/homepage/home_background.png') center top / cover no-repeat;
  background-color: #03140e;
  color: var(--naw-home-lower-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.naw-home-lower::before,
.naw-home-lower::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 210px;
  height: 460px;
  pointer-events: none;
  opacity: .23;
  filter: blur(2px);
}

.naw-home-lower::before {
  top: 0;
  left: -95px;
  background: radial-gradient(ellipse at center, rgba(112, 164, 73, .42), transparent 68%);
  transform: rotate(-14deg);
}

.naw-home-lower::after {
  right: -105px;
  bottom: 90px;
  background: radial-gradient(ellipse at center, rgba(87, 137, 58, .36), transparent 68%);
  transform: rotate(16deg);
}

.naw-home-lower-section,
.naw-home-lower-footer {
  width: min(1320px, calc(100% - 20px));
  margin-inline: auto;
}

.naw-home-lower-section {
  scroll-margin-top: calc(var(--naw-home-nav-height) + 14px);
}

.naw-home-lower-section {
  padding: 26px 0 28px;
  border-bottom: 1px solid var(--naw-home-lower-line);
}

.naw-home-lower-section + .naw-home-lower-section {
  margin-top: 14px;
}

.naw-home-lower-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

.naw-home-lower-heading > div {
  min-width: 0;
}

.naw-home-lower-heading h2 {
  margin: 0;
  color: #fffaf2;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.08;
}

.naw-home-lower-heading h2 > .glyphicon {
  margin-right: 5px;
  color: var(--naw-home-lower-accent);
  font-size: .88em;
  transform: rotate(-12deg);
}

.naw-home-lower-heading p {
  margin: 3px 0 0;
  color: var(--naw-home-lower-muted);
  font-size: 12px;
  line-height: 1.25;
}

.naw-home-lower-section--species .naw-home-lower-heading p {
  display: block;
}

.naw-home-lower-link {
  flex: 0 0 auto;
  color: #8fd3a4 !important;
  font-size: 12px;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}

.naw-home-lower-link:hover,
.naw-home-lower-link:focus {
  color: #c4efce !important;
  outline: 0;
}

.naw-home-lower-link--species {
  display: inline-flex;
  margin: 0 0 10px;
}

.naw-home-lower-mobile-label,
.naw-home-lower-species-card__mobile-copy {
  display: inline;
}

.naw-home-lower-desktop-label,
.naw-home-lower-species-card__desktop-copy {
  display: none;
}

.naw-home-lower-desktop-label {
  font-weight: 700;
}

.naw-home-lower-species-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.naw-home-lower-species-card {
  --naw-species-bg-image: none;
  --naw-species-bg-mobile-x: 50%;
  --naw-species-bg-mobile-y: 50%;
  --naw-species-bg-mobile-size: cover;
  --naw-species-bg-tablet-x: 50%;
  --naw-species-bg-tablet-y: 50%;
  --naw-species-bg-tablet-size: 130% auto;
  --naw-species-bg-desktop-x: 50%;
  --naw-species-bg-desktop-y: 50%;
  --naw-species-bg-desktop-size: 130% auto;
  position: relative;
  display: block;
  min-width: 0;
  min-height: 158px;
  overflow: hidden;
  border: 1px solid rgba(157, 118, 72, .86);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, 0) 18%),
    linear-gradient(145deg, #23180f, #142016 58%, #0e1711);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow:
    0 10px 22px rgba(0, 0, 0, .20),
    inset 0 0 0 1px rgba(243, 222, 186, .06);
}

.naw-home-lower-species-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--naw-species-bg-image);
  background-repeat: no-repeat;
  background-size: var(--naw-species-bg-mobile-size);
  background-position: var(--naw-species-bg-mobile-x) var(--naw-species-bg-mobile-y);
  transition: transform .24s ease;
}

/* REGLAGE MANUEL DES 4 BACKGROUNDS.
 * X = gauche/droite, Y = haut/bas.
 * SIZE > 100% sur tablette/desktop cree la marge necessaire pour que X deplace vraiment l'image. */
.naw-home-lower-species-card--fourmis {
  --naw-species-bg-image: url(../images/homepage/ant_background.png);
  --naw-species-bg-mobile-x: 26%;
  --naw-species-bg-mobile-y: 48%;
  --naw-species-bg-mobile-size: auto 170%;
  --naw-species-bg-tablet-x: 72%;
  --naw-species-bg-tablet-y: 34%;
  --naw-species-bg-tablet-size: 130% auto;
  --naw-species-bg-desktop-x: 76%;
  --naw-species-bg-desktop-y: 34%;
  --naw-species-bg-desktop-size: 130% auto;
  --naw-species-shade-rgb: 54, 12, 15;
  --naw-species-accent: #e56d68;
}

.naw-home-lower-species-card--araignees {
  --naw-species-bg-image: url(../images/homepage/spider_background.png);
  --naw-species-bg-mobile-x: 23%;
  --naw-species-bg-mobile-y: 44%;
  --naw-species-bg-mobile-size: auto 180%;
  --naw-species-bg-tablet-x: 127%;
  --naw-species-bg-tablet-y: 34%;
  --naw-species-bg-tablet-size: 104% auto;
  --naw-species-bg-desktop-x: 60%;
  --naw-species-bg-desktop-y: 32%;
  --naw-species-bg-desktop-size: 135% auto;
  --naw-species-shade-rgb: 37, 14, 50;
  --naw-species-accent: #8752ab;
}

.naw-home-lower-species-card--abeilles {
  --naw-species-bg-image: url(../images/homepage/bee_background.png);
  --naw-species-bg-mobile-x: 19%;
  --naw-species-bg-mobile-y: 77%;
  --naw-species-bg-mobile-size: auto 205%;
  --naw-species-bg-tablet-x: 101%;
  --naw-species-bg-tablet-y: 48%;
  --naw-species-bg-tablet-size: 114% auto;
  --naw-species-bg-desktop-x: 64%;
  --naw-species-bg-desktop-y: 49%;
  --naw-species-bg-desktop-size: 135% auto;
  --naw-species-shade-rgb: 51, 40, 7;
  --naw-species-accent: #e6c85c;
}

.naw-home-lower-species-card--termites {
  --naw-species-bg-image: url(../images/homepage/termite_background.png);
  --naw-species-bg-mobile-x: 29%;
  --naw-species-bg-mobile-y: 48%;
  --naw-species-bg-mobile-size: auto 175%;
  --naw-species-bg-tablet-x: 73%;
  --naw-species-bg-tablet-y: 40%;
  --naw-species-bg-tablet-size: 130% auto;
  --naw-species-bg-desktop-x: 72%;
  --naw-species-bg-desktop-y: 38%;
  --naw-species-bg-desktop-size: 135% auto;
  --naw-species-shade-rgb: 52, 27, 10;
  --naw-species-accent: #dd965d;
}

.naw-home-lower-species-card__shade {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 6px;
  z-index: 1;
  pointer-events: none;
  /* La zone de texte commence par un sombre neutre immediat, puis laisse
   * progressivement apparaitre le halo teinte propre a chaque espece. */
  background:
    linear-gradient(90deg,
      rgba(2, 7, 5, .72) 0%,
      rgba(2, 7, 5, .70) 7%,
      rgba(2, 7, 5, .66) 15%,
      rgba(2, 7, 5, .58) 24%,
      rgba(2, 7, 5, .47) 34%,
      rgba(2, 7, 5, .34) 44%,
      rgba(2, 7, 5, .23) 53%,
      rgba(2, 7, 5, .13) 61%,
      rgba(2, 7, 5, .06) 67%,
      rgba(2, 7, 5, 0) 72%),
    radial-gradient(ellipse 100% 118% at 100% 50%,
      rgba(var(--naw-species-shade-rgb), .92) 0%,
      rgba(var(--naw-species-shade-rgb), .82) 24%,
      rgba(var(--naw-species-shade-rgb), .68) 43%,
      rgba(var(--naw-species-shade-rgb), .52) 59%,
      rgba(var(--naw-species-shade-rgb), .36) 73%,
      rgba(var(--naw-species-shade-rgb), .22) 84%,
      rgba(var(--naw-species-shade-rgb), .10) 93%,
      rgba(var(--naw-species-shade-rgb), 0) 100%),
    linear-gradient(90deg,
      rgba(2, 7, 5, 0) 0%,
      rgba(2, 7, 5, .08) 28%,
      rgba(2, 7, 5, .18) 52%,
      rgba(2, 7, 5, .34) 72%,
      rgba(2, 7, 5, .52) 88%,
      rgba(2, 7, 5, .64) 100%);
}

/* Le box-shadow se confondait avec le voile lui-meme. Cette extension
 * deborde volontairement a gauche de la zone texte pour creer un fondu
 * visible entre l'image et le radial sombre/coloré. */
.naw-home-lower-species-card__shade::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  width: 72px;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(2, 7, 5, 0) 0%,
    rgba(2, 7, 5, .06) 16%,
    rgba(2, 7, 5, .14) 32%,
    rgba(2, 7, 5, .25) 50%,
    rgba(2, 7, 5, .39) 68%,
    rgba(2, 7, 5, .53) 84%,
    rgba(2, 7, 5, .66) 100%);
}

.naw-home-lower-species-card__copy {
  position: absolute;
  right: 5px;
  bottom: 6px;
  left: 6px;
  z-index: 2;
  display: grid;
  gap: 2px;
  min-width: 0;
}

.naw-home-lower-species-card__name {
  overflow: hidden;
  color: #fffaf2;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.naw-home-lower-species-card__copy > strong {
  display: none;
  color: var(--naw-species-accent, var(--naw-home-lower-accent-soft));
}

.naw-home-lower-species-card__mobile-copy,
.naw-home-lower-species-card__desktop-copy {
  color: #e4e8e2;
  font-size: 12px;
  line-height: 1.08;
}

.naw-home-lower-species-card__trait-icon {
  display: block;
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  object-fit: contain;
}

.naw-home-lower-species-card__trait {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  margin-top: 4px;
  padding: 4px 6px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgb(6 13 10 / 59%);
  color: var(--naw-species-accent, var(--naw-home-lower-accent));
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.naw-home-lower-species-card__trait > span:last-child {
  display: none;
}

.naw-home-lower-species-card__arrow {
  display: none;
}

.naw-home-lower-species-card:hover,
.naw-home-lower-species-card:focus {
  border-color: rgba(217, 183, 124, .94);
  color: #fff !important;
  box-shadow:
    0 14px 26px rgba(0, 0, 0, .24),
    inset 0 0 0 1px rgba(250, 234, 203, .10);
  outline: 0;
}

.naw-home-lower-species-card:hover::before,
.naw-home-lower-species-card:focus::before {
  transform: scale(1.035);
}

.naw-home-lower-heading--compact,
.naw-home-lower-heading--screens {
  align-items: center;
}

.naw-home-lower-heading--compact > div,
.naw-home-lower-heading--screens > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 4px;
  width: 100%;
}

.naw-home-lower-heading--compact p,
.naw-home-lower-heading--screens p {
  flex: 0 1 auto;
  margin: 3px 0 0;
  text-align: left;
}

.naw-home-lower-heading--compact p > span {
  display: none;
}

.naw-home-lower-heading--screens .naw-home-lower-link {
  display: none;
}

.naw-home-lower-gameplay-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.naw-home-lower-gameplay-card {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 86px;
  padding: 9px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-decoration: none !important;
  transition: background .18s ease, transform .18s ease;
}

.naw-home-lower-gameplay-card::after {
  content: '';
  position: absolute;
  right: -4px;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(191, 167, 114, .20), transparent);
  pointer-events: none;
}

.naw-home-lower-gameplay-card:nth-child(3n)::after {
  display: none;
}

.naw-home-lower-gameplay-card:hover,
.naw-home-lower-gameplay-card:focus-visible {
  background: rgba(27, 48, 34, .24);
  color: inherit;
  outline: 0;
  transform: translateY(-1px);
}

.naw-home-lower-gameplay-card__icon {
  width: 33px;
  height: 33px;
  justify-self: center;
  object-fit: contain;
}

.naw-home-lower-gameplay-card__icon--desktop {
  display: none;
}

.naw-home-lower-gameplay-card__icon--mobile {
  display: inline-block;
}

.naw-home-lower-gameplay-card h3 {
  margin: 0 0 3px;
  color: #fffaf3;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 12px;
  line-height: 1.05;
}

.naw-home-lower-gameplay-card p {
  margin: 0;
  color: #d5ddd6;
  font-size: 12px;
  line-height: 1.18;
}

.naw-home-lower-screens-carousel {
  position: relative;
}

.naw-home-lower-screens-viewport {
  overflow: hidden;
}

.naw-home-lower-screens-grid {
  display: flex;
  gap: 10px;
  width: 100%;
  transform: translate3d(0, 0, 0);
  transition: transform .28s ease;
  will-change: transform;
}

.naw-home-lower-screens-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 11px;
}

.naw-home-lower-screens-carousel__arrow {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(130, 184, 75, .58);
  border-radius: 50%;
  background: rgba(8, 34, 24, .96);
  color: #eaf5e4;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.naw-home-lower-screens-carousel__arrow:hover,
.naw-home-lower-screens-carousel__arrow:focus {
  border-color: rgba(158, 217, 111, .92);
  background: rgba(16, 53, 37, .98);
  color: #fff;
  outline: 0;
}

.naw-home-lower-screens-carousel__arrow[disabled] {
  opacity: .34;
  cursor: default;
}

.naw-home-lower-screens-carousel__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 58px;
}

.naw-home-lower-screens-carousel__dot {
  appearance: none;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(174, 201, 157, .34);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.naw-home-lower-screens-carousel__dot.is-active {
  background: #82b84b;
  box-shadow: 0 0 8px rgba(130, 184, 75, .42);
  transform: scale(1.28);
}

.naw-home-lower-screen-card {
  appearance: none;
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
  min-width: 0;
  min-height: 88px;
  padding: 18px 28px 18px 28px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: url('../images/NAWimagesImportante/Bouton_Inscription_1.png?3') center / 100% 100% no-repeat;
  color: #fff;
  text-align: left;
  cursor: zoom-in;
  flex: 0 0 100%;
  box-shadow: none;
  -webkit-mask: url('../images/NAWimagesImportante/Bouton_Inscription_1.png?3') center / 100% 100% no-repeat;
  mask: url('../images/NAWimagesImportante/Bouton_Inscription_1.png?3') center / 100% 100% no-repeat;
}

.naw-home-lower-screen-card--desktop-secondary {
  display: grid;
}

.naw-home-lower-screen-card > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 88px;
  object-fit: cover;
  object-position: center;
  border-right: 1px solid rgba(129, 188, 89, .28);
}

.naw-home-lower-screen-card > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 7px;
}

.naw-home-lower-screen-card strong,
.naw-home-lower-screen-card small {
  display: block;
}

.naw-home-lower-screen-card strong {
  color: #fffaf3;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 12px;
  line-height: 1.1;
}

.naw-home-lower-screen-card small {
  margin-top: 4px;
  color: #d0d9d2;
  font-size: 12px;
  line-height: 1.22;
}

.naw-home-lower-screen-card:hover,
.naw-home-lower-screen-card:focus {
  background: url('../images/NAWimagesImportante/Bouton_Inscription_1.png?3') center / 100% 100% no-repeat;
  box-shadow: none;
  outline: 0;
}

.naw-home-lower-section--updates-home {
  position: relative;
  isolation: isolate;
}

.naw-home-lower-updates-carousel {
  position: relative;
}

.naw-home-lower-updates-viewport {
  overflow: hidden;
}

.naw-home-lower-updates-track {
  display: flex;
  gap: 10px;
  width: 100%;
  transform: translate3d(0, 0, 0);
  transition: transform .28s ease;
  will-change: transform;
}

.naw-home-lower-update-card {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  min-width: 0;
  min-height: 168px;
  padding: 14px 15px;
  border: 1px solid var(--naw-home-lower-line-strong);
  border-radius: 8px;
  background:
    radial-gradient(circle at 92% 8%, rgba(125, 181, 76, .13), transparent 34%),
    linear-gradient(145deg, rgba(14, 47, 33, .96), rgba(6, 28, 20, .98));
  color: #eef5ee !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 5px 16px rgba(0, 0, 0, .18);
}

.naw-home-lower-update-card:hover,
.naw-home-lower-update-card:focus {
  border-color: rgba(158, 217, 111, .86);
  background:
    radial-gradient(circle at 92% 8%, rgba(139, 200, 83, .19), transparent 36%),
    linear-gradient(145deg, rgba(17, 55, 39, .98), rgba(7, 32, 22, .99));
  color: #fff !important;
  outline: 0;
}

.naw-home-lower-update-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
  color: #a9c99b;
  font-size: 12px;
  line-height: 1.2;
}

.naw-home-lower-update-card__meta strong {
  color: #9fd16f;
  font-size: 12px;
  font-weight: 800;
}

.naw-home-lower-update-card__meta time {
  color: #b9c8bc;
  white-space: nowrap;
}

.naw-home-lower-update-card h3 {
  margin: 0;
  color: #fffaf2;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  line-height: 1.15;
}

.naw-home-lower-update-card p {
  display: -webkit-box;
  margin: 7px 0 10px;
  overflow: hidden;
  color: #d3ddd5;
  font-size: 12px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.naw-home-lower-update-card__link {
  margin-top: auto;
  color: #8fd3a4;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.naw-home-lower-updates-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 11px;
}

.naw-home-lower-updates-carousel__arrow {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(130, 184, 75, .58);
  border-radius: 50%;
  background: rgba(8, 34, 24, .96);
  color: #eaf5e4;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.naw-home-lower-updates-carousel__arrow:hover,
.naw-home-lower-updates-carousel__arrow:focus {
  border-color: rgba(158, 217, 111, .92);
  background: rgba(16, 53, 37, .98);
  color: #fff;
  outline: 0;
}

.naw-home-lower-updates-carousel__arrow[disabled] {
  opacity: .34;
  cursor: default;
}

.naw-home-lower-updates-carousel__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 58px;
}

.naw-home-lower-updates-carousel__dot {
  appearance: none;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(174, 201, 157, .34);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.naw-home-lower-updates-carousel__dot.is-active {
  background: #82b84b;
  box-shadow: 0 0 8px rgba(130, 184, 75, .42);
  transform: scale(1.28);
}

.naw-home-lower-discord {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 8px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
}

.naw-home-lower-discord {
  border: 1px solid #6e86db;
  background: linear-gradient(180deg, #667bd0, #4a5fb6);
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.naw-home-lower-discord:hover,
.naw-home-lower-discord:focus {
  background: linear-gradient(180deg, #7489dc, #566bc5);
  color: #fff !important;
  outline: 0;
}

.naw-home-lower-footer__brand {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.naw-home-lower-footer__brand img {
  display: block;
  width: 128px;
  height: auto;
  flex: 0 0 auto;
}

.naw-home-lower-footer::after {
  content: "Un jeu de stratégie gratuit, par des passionnés, pour une communauté durable.";
  color: #bdc8c0;
  font-size: 12px;
  line-height: 1.2;
  text-align: right;
}


@media (max-width: 668px) {
  .naw-home-lower-mobile-label {
    display: none !important;
  }

  .naw-home-lower-desktop-label {
    display: inline !important;
  }

  .naw-home-lower-gameplay-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    justify-items: center;
    align-content: center;
    gap: 7px;
    min-height: 118px;
    padding: 10px 7px;
    text-align: center;
  }

  .naw-home-lower-gameplay-card::after {
    display: none;
  }

  .naw-home-lower-gameplay-card > div {
    min-width: 0;
    text-align: center;
  }

  .naw-home-lower-gameplay-card__icon {
    display: block;
    margin-inline: auto;
  }

  .naw-home-lower-gameplay-card__icon--desktop {
    display: block;
  }

  .naw-home-lower-gameplay-card__icon--mobile {
    display: none;
  }

  .naw-home-lower-species-card {
    min-height: 100px;
  }

  .naw-home-lower-species-card__shade,
  .naw-home-lower-species-card__mobile-copy,
  .naw-home-lower-species-card__trait {
    display: none;
  }

  .naw-home-lower-species-card__copy {
    right: 5px;
    bottom: 6px;
    left: 5px;
  }

  .naw-home-lower-species-card__name {
    justify-self: start;
    max-width: 100%;
    padding: 5px 7px;
    overflow: hidden;
    border: 1px solid rgba(164, 205, 126, .16);
    border-radius: 5px;
    background: rgba(3, 14, 10, .76);
    box-shadow: 0 2px 9px rgba(0, 0, 0, .30);
    text-overflow: ellipsis;
  }
}

@media (min-width: 669px) {
  .naw-home-signup-card {
    --naw-home-signup-corner-size: 96px;
  }
}

@media (min-width: 669px) {
.naw-home-lower-section,
  .naw-home-lower-footer {
    width: min(1120px, calc(100% - 36px));
  }

  .naw-home-lower-section {
    padding: 40px 0 42px;
  }

  .naw-home-lower-section + .naw-home-lower-section {
    margin-top: 20px;
  }

  .naw-home-lower-heading {
    margin-bottom: 16px;
  }

  .naw-home-lower-heading h2 {
    font-size: 24px;
  }

  .naw-home-lower-heading p {
    margin-top: 3px;
    font-size: 12px;
  }

  .naw-home-lower-section--species .naw-home-lower-heading > div {
    display: flex;
    align-items: baseline;
    gap: 12px;
  }

  .naw-home-lower-section--species .naw-home-lower-heading p {
    display: block;
    margin: 0 0 0 8px;
    text-align: left;
  }

  .naw-home-lower-link {
    font-size: 12px;
  }

  .naw-home-lower-mobile-label,
  .naw-home-lower-species-card__mobile-copy {
    display: none;
  }

  .naw-home-lower-desktop-label,
  .naw-home-lower-species-card__desktop-copy {
    display: inline;
  }

  .naw-home-lower-species-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .naw-home-lower-species-card::before {
    background-size: var(--naw-species-bg-tablet-size);
    background-position: var(--naw-species-bg-tablet-x) var(--naw-species-bg-tablet-y);
  }

  .naw-home-lower-species-card__shade {
    left: 41%;
  }

  .naw-home-lower-species-card__copy {
    top: 15px;
    right: 34px;
    bottom: auto;
    left: 41%;
    gap: 3px;
  }

  .naw-home-lower-species-card__name {
    font-size: 17px;
  }

  .naw-home-lower-species-card__copy > strong {
    display: block;
    font-size: 12px;
    line-height: 1.1;
  }

  .naw-home-lower-species-card__desktop-copy {
    display: block;
    margin-top: 3px;
    color: #dce3dc;
    font-size: 12px;
    line-height: 1.25;
  }

  .naw-home-lower-species-card__trait {
    gap: 6px;
    margin-top: 6px;
    font-size: 14px;
  }

  .naw-home-lower-species-card__trait > span:last-child {
    display: inline;
    color: inherit;
    font-size: 12px;
    line-height: 1.15;
  }

  .naw-home-lower-species-card__arrow {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 2;
    display: block;
    color: var(--naw-home-lower-accent);
    font-size: 28px;
    line-height: 1;
    transform: translateY(-50%);
  }

  .naw-home-lower-heading--compact > div,
  .naw-home-lower-heading--screens > div {
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    gap: 10px;
  }

  .naw-home-lower-heading--compact p,
  .naw-home-lower-heading--screens p {
    margin: 0 0 0 10px;
    text-align: left;
  }

  .naw-home-lower-heading--compact p > span {
    display: inline;
  }

  .naw-home-lower-heading--screens .naw-home-lower-link {
    display: inline-flex;
  }

  .naw-home-lower-gameplay-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .naw-home-lower-gameplay-card {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 12px;
    min-height: 110px;
    padding: 14px 12px;
  }

  .naw-home-lower-species-card__trait-icon {
    width: 19px;
    height: 19px;
  }

  .naw-home-lower-gameplay-card__icon {
    width: 60px;
    height: 60px;
  }

  .naw-home-lower-gameplay-card__icon--desktop {
    display: inline-block;
  }

  .naw-home-lower-gameplay-card__icon--mobile {
    display: none;
  }

  .naw-home-lower-gameplay-card h3 {
    margin-bottom: 4px;
    font-size: 13px;
  }

  .naw-home-lower-gameplay-card p {
    font-size: 12px;
    line-height: 1.28;
  }

  .naw-home-lower-screen-card {
    flex-basis: calc((100% - 10px) / 2);
  }

  .naw-home-lower-screen-card,
  .naw-home-lower-screen-card--desktop-secondary {
    display: grid;
  }

  .naw-home-lower-screen-card {
    grid-template-columns: 48% minmax(0, 1fr);
    min-height: 100px;
  }

  .naw-home-lower-screen-card > img {
    min-height: 100px;
  }

  .naw-home-lower-screen-card > span {
    padding: 9px;
  }

  .naw-home-lower-screen-card strong {
    font-size: 12px;
  }

  .naw-home-lower-screen-card small {
    font-size: 12px;
    line-height: 1.28;
  }

  .naw-home-lower-update-card {
    flex-basis: calc((100% - 10px) / 2);
    min-height: 176px;
  }

.naw-home-lower-discord {
    min-height: 38px;
    font-size: 12px;
  }

  .naw-home-lower-footer {
    grid-template-columns: minmax(260px, 1.1fr) minmax(0, 1.5fr) auto;
    align-items: center;
    min-height: 154px;
    margin-top: 28px;
    padding: 22px 0 88px;
    gap: 16px;
  }

  .naw-home-lower-footer__brand img {
    width: 138px;
  }

  .naw-home-lower-footer__brand > span {
    display: inline;
  }

  .naw-home-lower-footer::after {
    display: none;
  }

.naw-home-lower-footer__social {
    display: flex;
    align-items: center;
  }

  .naw-home-lower-footer__social {
    justify-content: flex-end;
    gap: 9px;
    color: #d8e0da;
    font-size: 12px;
  }

  .naw-home-lower-footer__social a {
    color: #d8e0da;
    text-decoration: none;
  }

  .naw-home-lower-footer__language {
    min-width: 34px;
    padding: 3px 6px;
    border: 1px solid rgba(142, 181, 112, .32);
    border-radius: 4px;
    text-align: center;
  }
}

@media (min-width: 1180px) {
.naw-home-lower-section,
  .naw-home-lower-footer {
    width: min(1320px, calc(100% - 72px));
  }

  .naw-home-lower-section {
    padding: 46px 0 48px;
  }

  .naw-home-lower-section + .naw-home-lower-section {
    margin-top: 24px;
  }

  .naw-home-lower-heading {
    margin-bottom: 18px;
  }

  .naw-home-lower-heading h2 {
    font-size: 25px;
  }

  .naw-home-lower-heading p {
    font-size: 12px;
  }

  .naw-home-lower-species-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .naw-home-lower-species-card::before {
    background-size: var(--naw-species-bg-desktop-size);
    background-position: var(--naw-species-bg-desktop-x) var(--naw-species-bg-desktop-y);
  }

  .naw-home-lower-species-card__shade {
    left: 38%;
  }

  .naw-home-lower-species-card__copy {
    top: 13px;
    right: 31px;
    left: 38%;
  }

  .naw-home-lower-species-card__name {
    font-size: 16px;
  }

  .naw-home-lower-species-card__copy > strong {
    font-size: 12px;
  }

  .naw-home-lower-species-card__desktop-copy {
    font-size: 12px;
  }

  .naw-home-lower-species-card__trait > span:last-child {
    font-size: 12px;
  }

  .naw-home-lower-gameplay-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
  }

  .naw-home-lower-gameplay-card:nth-child(3n)::after {
    display: block;
  }

  .naw-home-lower-gameplay-card:last-child::after {
    display: none;
  }

  .naw-home-lower-gameplay-card {
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 112px;
    padding: 14px 12px;
  }

  .naw-home-lower-gameplay-card h3 {
    font-size: 12px;
  }

  .naw-home-lower-gameplay-card p {
    font-size: 12px;
  }

  .naw-home-lower-screens-viewport {
    overflow: visible;
  }

  .naw-home-lower-screens-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    transform: none !important;
    transition: none;
  }

  .naw-home-lower-screen-card {
    flex: initial;
  }

  .naw-home-lower-screens-carousel__controls {
    display: none;
  }

  .naw-home-lower-screen-card {
    min-height: 104px;
  }

  .naw-home-lower-screen-card > img {
    min-height: 104px;
  }

  .naw-home-lower-screen-card strong {
    font-size: 12.5px;
  }

  .naw-home-lower-screen-card small {
    font-size: 12px;
  }

  .naw-home-lower-updates-viewport {
    overflow: visible;
  }

  .naw-home-lower-updates-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    transform: none !important;
    transition: none;
  }

  .naw-home-lower-update-card {
    min-height: 184px;
  }

  .naw-home-lower-updates-carousel__controls {
    display: none;
  }

  .naw-home-lower-footer {
    min-height: 158px;
    margin-top: 30px;
    padding: 24px 0 90px;
  }

}

/* ========================================================================== */
/* Accueil - bloc final Actualités / Communauté / footer.                    */
/* Organisation inspirée de la maquette : actualités à gauche, Discord à     */
/* droite sur desktop, puis un footer éditorial clairement structuré.         */
/* ========================================================================== */

.naw-home-lower-closing-grid,
.naw-home-lower-footer {
  width: min(1320px, calc(100% - 20px));
  margin-inline: auto;
}

.naw-home-lower-closing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 22px;
  padding: 8px 0 24px;
  border-bottom: 1px solid var(--naw-home-lower-line);
}

.naw-home-lower-news-panel,
.naw-home-lower-community-panel {
  min-width: 0;
  overflow: hidden;
  border-radius: 8px;
}

.naw-home-lower-news-panel {
  --naw-home-news-wood-border: 9px;
  --naw-home-news-corner-size: 76px;
  padding: 14px;
  overflow: visible;
  border: 4px solid #9f865e;
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .32), rgba(255, 255, 255, 0) 17%),
    linear-gradient(155deg, #ead7b7, #ddc59b 72%, #d3b383);
  color: #35291d;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
}

.naw-home-lower-section--updates-home::before {
  content: '';
  position: absolute;
  inset: -8px;
  z-index: 0;
  box-sizing: border-box;
  border: var(--naw-home-news-wood-border) solid transparent;
  border-image-source: url('../images/cadre/wood-frame.png?1');
  border-image-slice: 52 55 53 54;
  border-image-width: var(--naw-home-news-wood-border);
  border-image-repeat: stretch;
  pointer-events: none;
}

.naw-home-lower-section--updates-home::after {
  content: '';
  position: absolute;
  inset: -11px;
  z-index: 1;
  background-image:
    url('../images/cadre/corner-top-left.png?1'),
    url('../images/cadre/corner-top-right.png?1'),
    url('../images/cadre/corner-bottom-left.png?1'),
    url('../images/cadre/corner-bottom-right.png?1');
  background-repeat: no-repeat;
  background-position: left top, right top, left bottom, right bottom;
  background-size:
    var(--naw-home-news-corner-size) var(--naw-home-news-corner-size),
    var(--naw-home-news-corner-size) var(--naw-home-news-corner-size),
    var(--naw-home-news-corner-size) var(--naw-home-news-corner-size),
    var(--naw-home-news-corner-size) var(--naw-home-news-corner-size);
  pointer-events: none;
}

.naw-home-lower-section--updates-home > * {
  position: relative;
  z-index: 2;
}

.naw-home-lower-news-panel__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
}

.naw-home-lower-news-panel__heading > div {
  min-width: 0;
}

.naw-home-lower-news-panel__eyebrow,
.naw-home-lower-community-panel__eyebrow {
  display: block;
  margin-bottom: 3px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.naw-home-lower-news-panel__eyebrow {
  color: #627842;
}

.naw-home-lower-news-panel h2,
.naw-home-lower-community-panel h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  line-height: 1.08;
}

.naw-home-lower-news-panel h2 {
  color: #342719;
  font-size: 20px;
}

.naw-home-lower-news-panel__heading p {
  margin: 4px 0 0;
  color: #6b5944;
  font-size: 12px;
  line-height: 1.35;
}

.naw-home-lower-news-panel__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid #526d34;
  border-radius: 6px;
  background: linear-gradient(180deg, #617f35, #425d27);
  color: #fff9eb !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.naw-home-lower-news-panel__all:hover,
.naw-home-lower-news-panel__all:focus {
  border-color: #718f4b;
  background: linear-gradient(180deg, #729447, #506e30);
  color: #fff !important;
  outline: 0;
}

.naw-home-lower-news-panel__all span {
  font-size: 18px;
  line-height: .7;
}

.naw-home-lower-news-panel .naw-home-lower-update-card {
  border-color: rgba(132, 101, 61, .34);
  background: rgba(255, 250, 238, .68);
  color: #35291d !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48);
}

.naw-home-lower-news-panel .naw-home-lower-update-card:hover,
.naw-home-lower-news-panel .naw-home-lower-update-card:focus {
  border-color: rgba(93, 119, 58, .68);
  background: rgba(255, 252, 244, .92);
  color: #231b13 !important;
  box-shadow: inset 3px 0 0 #6f9341, inset 0 1px 0 rgba(255, 255, 255, .62);
}

.naw-home-lower-news-panel .naw-home-lower-update-card__meta {
  color: #775f43;
}

.naw-home-lower-news-panel .naw-home-lower-update-card__meta strong {
  color: #526f34;
}

.naw-home-lower-news-panel .naw-home-lower-update-card__meta time {
  color: #745f47;
}

.naw-home-lower-news-panel .naw-home-lower-update-card h3 {
  color: #302417;
  font-weight: 800;
}

.naw-home-lower-news-panel .naw-home-lower-update-card p {
  color: #675541;
}

.naw-home-lower-news-panel .naw-home-lower-update-card__link {
  color: #4d6c32;
}

.naw-home-lower-news-panel .naw-home-lower-updates-carousel__arrow {
  border-color: rgba(83, 111, 52, .55);
  background: rgba(78, 104, 50, .12);
  color: #405b2a;
}

.naw-home-lower-news-panel .naw-home-lower-updates-carousel__arrow:hover,
.naw-home-lower-news-panel .naw-home-lower-updates-carousel__arrow:focus {
  border-color: #5f7f3b;
  background: rgba(82, 111, 52, .22);
  color: #2f461f;
}

.naw-home-lower-news-panel .naw-home-lower-updates-carousel__dot {
  background: rgba(91, 111, 64, .34);
}

.naw-home-lower-news-panel .naw-home-lower-updates-carousel__dot.is-active {
  background: #617f35;
  box-shadow: 0 0 7px rgba(82, 111, 52, .30);
}

.naw-home-lower-news-panel__empty {
  margin: 12px 0 2px;
  padding: 14px;
  border: 1px dashed rgba(102, 82, 56, .42);
  border-radius: 7px;
  color: #6b5944;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

.naw-home-lower-community-panel {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 232px;
  border: 1px solid rgba(129, 95, 56, .88);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0) 16%),
    linear-gradient(145deg, #223122, #18241a 58%, #131a14);
  color: #eef5e9;
  box-shadow:
    0 12px 24px rgba(0, 0, 0, .22),
    inset 0 0 0 1px rgba(245, 225, 191, .06);
}

.naw-home-lower-community-panel::after {
  content: '';
  position: absolute;
  top: 8px;
  right: 8px;
  bottom: 8px;
  left: 8px;
  border: 1px solid rgba(227, 197, 150, .10);
  border-radius: 5px;
  pointer-events: none;
}

.naw-home-lower-community-panel__content {
  position: relative;
  z-index: 1;
  padding: 17px 17px 15px;
}

.naw-home-lower-community-panel__eyebrow {
  color: #d7bd86;
}

.naw-home-lower-community-panel h2 {
  color: #fff7e9;
  font-size: 22px;
}

.naw-home-lower-community-panel__content p {
  max-width: 520px;
  margin: 7px 0 14px;
  color: #c8d5cc;
  font-size: 12px;
  line-height: 1.45;
}

.naw-home-lower-community-panel__content p strong {
  color: #f2f8e9;
  font-weight: 800;
}


.naw-home-lower-community-panel__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.naw-home-lower-community-panel__discover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  border: 0;
  border-radius: 7px;
  background: var(--naw-home-button-wood-url) center / 100% 100% no-repeat;
  color: #f8e7c9;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .48);
  box-shadow: none;
}

.naw-home-lower-community-panel__discover:hover,
.naw-home-lower-community-panel__discover:focus {
  color: #fff8ed;
  filter: brightness(1.05);
  transform: translateY(-1px);
  text-decoration: none;
  outline: 0;
}

.naw-home-lower-discord--large {
  position: relative;
  z-index: 1;
  gap: 8px;
  min-width: 164px;
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 800;
}

.naw-home-lower-discord__icon {
  display: block;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  object-fit: contain;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .24));
}

.naw-home-lower-community-panel__stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(188, 158, 108, .18);
  background: rgba(9, 11, 8, .24);
}

.naw-home-lower-community-panel__stats > span {
  position: relative;
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 62px;
  padding: 9px 7px;
  text-align: center;
}

.naw-home-lower-community-panel__stats > span:nth-child(even)::before {
  content: '';
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: 0;
  width: 1px;
  background: rgba(196, 165, 116, .14);
}

.naw-home-lower-community-panel__stats > span:nth-child(n + 3) {
  border-top: 1px solid rgba(196, 165, 116, .10);
}

.naw-home-lower-community-panel__stats strong,
.naw-home-lower-community-panel__stats small {
  display: block;
}

.naw-home-lower-community-panel__stats strong {
  color: #e9f3dc;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.05;
}

.naw-home-lower-community-panel__stats small {
  margin-top: 4px;
  color: #aebfb3;
  font-size: 12px;
  line-height: 1.15;
}

.naw-home-lower-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  min-height: 0;
  margin-top: 0;
  padding: 22px 12px 84px;
  border-top: 0;
  background:
    linear-gradient(180deg, rgba(8, 29, 21, .94), rgba(4, 19, 14, .98));
  box-shadow: inset 0 1px 0 rgba(135, 184, 99, .12);
}

.naw-home-lower-footer::after {
  content: none;
  display: none;
}

.naw-home-lower-footer__brand {
  display: grid;
  justify-items: start;
  gap: 5px;
}

.naw-home-lower-footer__brand img {
  width: 132px;
}

.naw-home-lower-footer__brand > span {
  display: block;
  max-width: 250px;
  color: #9fb0a4;
  font-size: 12px;
  line-height: 1.3;
}

.naw-home-lower-footer__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 20px;
  min-width: 0;
}

.naw-home-lower-footer__group {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.naw-home-lower-footer__group strong {
  margin-bottom: 2px;
  color: #eef1df;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 13px;
  line-height: 1.15;
}

.naw-home-lower-footer__group a {
  width: fit-content;
  max-width: 100%;
  color: #aab9ae;
  font-size: 12px;
  line-height: 1.3;
  text-decoration: none;
}

.naw-home-lower-footer__group a:hover,
.naw-home-lower-footer__group a:focus {
  color: #dcefc9;
  outline: 0;
}

.naw-home-lower-footer__social {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
}

.naw-home-lower-footer__discord,
.naw-home-lower-footer__language {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 5px 9px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.naw-home-lower-footer__discord {
  border: 1px solid rgba(109, 130, 215, .68);
  background: rgba(82, 101, 187, .22);
  color: #dce3ff !important;
  text-decoration: none !important;
}

.naw-home-lower-footer__discord:hover,
.naw-home-lower-footer__discord:focus {
  background: rgba(92, 112, 207, .35);
  color: #fff !important;
  outline: 0;
}

.naw-home-lower-footer__language {
  min-width: 38px;
  border: 1px solid rgba(142, 181, 112, .30);
  background: rgba(107, 145, 76, .08);
  color: #d7e6cc;
}

.naw-home-lower-footer__privacy {
  min-height: 32px;
  padding: 5px 8px;
  border: 0;
  background: transparent;
  color: #aab9ae;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.naw-home-lower-footer__privacy:hover,
.naw-home-lower-footer__privacy:focus-visible {
  color: #dcefc9;
  outline: 0;
}

.naw-home-lower-footer__copyright {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(135, 184, 99, .14);
  color: #82958a;
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
}

.naw-home-privacy-consent {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 220;
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  border: 0;
  border-top: 1px solid rgba(128, 181, 83, .48);
  border-radius: 0;
  background: rgba(5, 24, 17, .985);
  color: #e9f0e8;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, .36);
}

.naw-home-privacy-consent[hidden] { display: none !important; }

.naw-home-privacy-consent__text {
  width: 100%;
  margin: 0;
  color: #cbd7ce;
  font-size: 12px;
  line-height: 1.45;
}

.naw-home-privacy-consent__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px 12px;
}

.naw-home-privacy-consent__more {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 7px 2px;
  color: #acd487;
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.naw-home-privacy-consent__more:hover,
.naw-home-privacy-consent__more:focus-visible {
  color: #d8efc2;
  outline: 0;
}

.naw-home-privacy-consent__accept {
  position: relative;
  min-width: 156px;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #6d963d;
  border-radius: 6px;
  background: linear-gradient(180deg, #8ab653 0%, #628a37 58%, #4c702a 100%);
  color: #fffdf4;
  font-size: 12px;
  font-weight: 800;
  text-shadow: 0 1px 1px rgba(20, 38, 13, .48);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 2px 8px rgba(0, 0, 0, .24);
  cursor: pointer;
}

.naw-home-privacy-consent__accept::before {
  content: '✓';
  margin-right: 6px;
  font-weight: 900;
}

.naw-home-privacy-consent__accept:hover,
.naw-home-privacy-consent__accept:focus-visible {
  border-color: #8ab954;
  background: linear-gradient(180deg, #99c660 0%, #6f9941 58%, #567c2f 100%);
  color: #fff;
  outline: 0;
  transform: translateY(-1px);
}

#scroll_to_updates,
#scroll_to_community {
  scroll-margin-top: calc(var(--naw-home-nav-height) + 14px);
}

@media (min-width: 669px) {
  .naw-home-lower-section--species {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    align-items: end;
  }

  .naw-home-lower-section--species .naw-home-lower-heading {
    grid-column: 1;
    grid-row: 1;
  }

  .naw-home-lower-link--species {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 11px;
  }

  .naw-home-lower-species-grid { grid-column: 1 / -1; }

  .naw-home-privacy-consent {
    gap: 7px;
    padding: 9px max(20px, calc((100vw - 1180px) / 2)) calc(9px + env(safe-area-inset-bottom));
  }

  .naw-home-privacy-consent__text {
    line-height: 1.35;
  }

  .naw-home-privacy-consent__actions {
    justify-content: flex-end;
  }

  .naw-home-lower-closing-grid,
  .naw-home-lower-footer {
    width: min(1320px, calc(100% - 40px));
  }

  .naw-home-lower-closing-grid {
    gap: 16px;
    margin-top: 28px;
    padding: 12px 0 30px;
  }

  .naw-home-lower-news-panel {
    padding: 16px;
  }

  .naw-home-lower-news-panel__heading {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
  }

  .naw-home-lower-news-panel__all {
    flex: 0 0 auto;
  }

  .naw-home-lower-community-panel__content {
    padding: 20px 20px 17px;
  }

  .naw-home-lower-community-panel h2 {
    font-size: 24px;
  }

  .naw-home-lower-footer {
    grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr) auto;
    gap: 24px;
    padding: 24px 18px 88px;
  }

  .naw-home-lower-footer__groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }

  .naw-home-lower-footer__social {
    justify-content: flex-end;
  }
}

@media (min-width: 669px) {
  .naw-home-lower-species-card {
    min-height: 184px;
    border-radius: 8px;
  }
}

@media (min-width: 1180px) {
  .naw-home-lower-species-card {
    min-height: 194px;
  }
}

@media (min-width: 669px) {
  .naw-home-lower-community-panel__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .naw-home-lower-community-panel__stats > span:nth-child(n + 3) {
    border-top: 0;
  }

  .naw-home-lower-community-panel__stats > span + span::before {
    content: '';
    position: absolute;
    top: 13px;
    bottom: 13px;
    left: 0;
    width: 1px;
    background: rgba(145, 185, 118, .17);
  }
}

@media (min-width: 1180px) {
  .naw-home-lower-closing-grid,
  .naw-home-lower-footer {
    width: min(1320px, calc(100% - 72px));
  }

  .naw-home-lower-closing-grid {
    grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr);
    align-items: stretch;
    gap: 16px;
    margin-top: 30px;
    padding: 14px 0 30px;
  }

  .naw-home-lower-news-panel,
  .naw-home-lower-community-panel {
    min-height: 286px;
  }

  .naw-home-lower-news-panel {
    padding: 17px 18px 15px;
  }

  .naw-home-lower-news-panel h2 {
    font-size: 22px;
  }

  .naw-home-lower-news-panel .naw-home-lower-updates-viewport {
    overflow: visible;
  }

  .naw-home-lower-news-panel .naw-home-lower-updates-track {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    transform: none !important;
    transition: none;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr) 28px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 12px;
    min-height: 62px;
    padding: 8px 7px 8px 10px;
    border-width: 0 0 1px;
    border-radius: 0;
    background: rgba(255, 250, 238, .40);
    box-shadow: none;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card:first-child {
    border-top: 1px solid rgba(132, 101, 61, .28);
    border-radius: 7px 7px 0 0;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card:last-child {
    border-radius: 0 0 7px 7px;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card:hover,
  .naw-home-lower-news-panel .naw-home-lower-update-card:focus {
    background: rgba(255, 253, 247, .80);
    box-shadow: inset 3px 0 0 #6f9341;
    transform: none;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card__meta {
    grid-column: 1;
    grid-row: 1 / 3;
    display: grid;
    align-content: center;
    justify-content: start;
    gap: 3px;
    align-self: stretch;
    margin: 0;
    padding-right: 10px;
    border-right: 1px solid rgba(121, 94, 61, .18);
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card__meta strong,
  .naw-home-lower-news-panel .naw-home-lower-update-card__meta time {
    font-size: 12px;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: 13px;
    line-height: 1.16;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card p {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 2px 0 0;
    font-size: 12px;
    line-height: 1.25;
    -webkit-line-clamp: 1;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card__link {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: center;
    width: 22px;
    overflow: hidden;
    color: #49662f;
    font-size: 0;
    line-height: 1;
    white-space: nowrap;
  }

  .naw-home-lower-news-panel .naw-home-lower-update-card__link span {
    display: block;
    font-size: 22px;
    line-height: 1;
  }

  .naw-home-lower-news-panel .naw-home-lower-updates-carousel__controls {
    display: none;
  }

  .naw-home-lower-community-panel__content {
    padding: 22px 22px 18px;
  }

  .naw-home-lower-community-panel h2 {
    font-size: 25px;
  }

  .naw-home-lower-community-panel__content p {
    max-width: 430px;
  }

  .naw-home-lower-community-panel__stats > span {
    min-height: 68px;
  }

  .naw-home-lower-footer {
    grid-template-columns: minmax(220px, .8fr) minmax(0, 2fr) auto;
    gap: 34px;
    padding: 26px 22px 90px;
  }

  .naw-home-lower-footer__brand img {
    width: 145px;
  }

}

@media (min-width: 1180px) {
  .naw-home-signup-control--live .naw-home-field-feedback {
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    z-index: 12;
    width: 220px;
    margin: 0;
    transform: translateY(-50%);
  }

  .naw-home-signup-control--live .naw-home-field-feedback.is-flipped {
    right: calc(100% + 10px);
    left: auto;
  }
}


/* Captures : image = zoom, texte = navigation vers le guide correspondant. */
.naw-home-lower-screen-card {
  cursor: default;
}

.naw-home-lower-screen-card__media {
  appearance: none;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 88px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 2px 0 0 2px;
  background: transparent;
  cursor: zoom-in;
}

.naw-home-lower-screen-card__media > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 88px;
  object-fit: cover;
  object-position: center;
  transition: transform .18s ease;
}

.naw-home-lower-screen-card__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 9px 10px;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
}

.naw-home-lower-screen-card__copy strong,
.naw-home-lower-screen-card__copy small {
  display: block;
}

.naw-home-lower-screen-card__copy strong {
  color: #fffaf3;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 12px;
  line-height: 1.1;
}

.naw-home-lower-screen-card__copy small {
  margin-top: 4px;
  color: #d0d9d2;
  font-size: 12px;
  line-height: 1.22;
}

.naw-home-lower-screen-card__media:hover > img,
.naw-home-lower-screen-card__media:focus-visible > img {
  transform: scale(1.025);
}

.naw-home-lower-screen-card__copy:hover,
.naw-home-lower-screen-card__copy:focus-visible {
  background: transparent;
  outline: 0;
}

.naw-home-lower-screen-card:focus-within {
  filter: brightness(1.05);
  box-shadow: none;
}

@media (min-width: 669px) {
  .naw-home-lower-screen-card__media,
  .naw-home-lower-screen-card__media > img {
    min-height: 100px;
  }

  .naw-home-lower-screen-card__copy {
    padding: 9px;
  }
}

@media (min-width: 1180px) {
  .naw-home-lower-screen-card__media,
  .naw-home-lower-screen-card__media > img {
    min-height: 104px;
  }

  .naw-home-lower-screen-card__copy strong {
    font-size: 12.5px;
  }
}

/* Vérification silencieuse d'une session sur l'instance choisie. */
.naw-home-login__feedback.is-session-check {
  color: #f4df9b;
}

.naw-home-login__feedback.is-session-found {
  color: #c8efbd;
}

.naw-home-login-modal__feedback.is-session-check {
  border-color: #8f7b45;
  background: rgba(94, 77, 31, .34);
  color: #fff0b8;
}

.naw-home-login-modal__feedback.is-session-found {
  border-color: #4f7a48;
  background: rgba(45, 91, 47, .32);
  color: #d4f7cb;
}


/* Refonte hero / teaser d'inscription : le contenu éditorial reste à gauche,
 * tandis que le CTA principal et les statistiques occupent la largeur du hero. */
.naw-home-signup-card[hidden] { display: none !important; }

.naw-home-signup-card {
  grid-column: 1 / -1;
  align-self: stretch;
  width: min(100%, 820px);
  margin-top: 18px;
}

.naw-home-hero__primary-cta {
  min-width: min(100%, 420px);
  min-height: 58px;
  padding: 14px 28px !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
}

.naw-home-hero__links {
  grid-column: 1 / -1;
  justify-self: center;
  justify-content: center;
  width: min(100%, 620px);
  margin-inline: auto;
}

.naw-home-hero__links .naw-home-hero__primary-cta {
  flex: 1 1 auto;
}

.naw-home-stats {
  grid-column: 1 / -1;
  justify-self: center;
  width: min(100%, 650px);
  margin: 0 auto;
}

.naw-home-hero__links {
  margin-top: 0;
}

@media (min-width: 900px) {
  .naw-home-hero {
    grid-template-columns: minmax(520px, 544px) minmax(0, 1fr);
    column-gap: clamp(42px, 6vw, 82px);
    row-gap: clamp(5px, .8vh, 9px);
  }

  .naw-home-logo {
    display: block;
    width: auto;
    /* Le précédent 18vw pouvait produire un logo proche de 250 px sur un
     * écran large mais peu haut, ce qui agrandissait le hero au-delà de 100dvh. */
    height: clamp(112px, min(17vw, 17vh), 250px);
    height: clamp(112px, min(17vw, 17dvh), 250px);
    max-width: 100%;
    max-height: 250px;
    margin: 0 auto 7px;
    object-fit: contain;
  }

  .naw-home-title-accent {
    white-space: nowrap;
  }

  .naw-home-hero__content {
    justify-self: start;
    text-align: left;
  }

  .naw-home-hero__content > h1,
  .naw-home-hero__content > .naw-home-hero__lead {
    margin-inline: 0;
  }

  .naw-home-hero__lead {
    margin-top: 7px;
    line-height: 1.42;
  }

  .naw-home-stats {
    padding-block: 5px;
  }

  .naw-home-stats .naw-home-stat {
    padding-block: 3px;
  }

  .naw-home-signup-teaser {
    grid-template-columns: minmax(70px, 96px) minmax(300px, 1.35fr) minmax(300px, .95fr);
    width: min(1180px, 100%);
    margin-top: 0;
  }

  .naw-home-signup-teaser__intro p {
    max-width: 520px;
  }
}

@media (max-width: 1097px) {
  .naw-home-hero__links {
    width: min(100%, 560px);
  }

  .naw-home-hero__links .naw-home-hero__primary-cta {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 899px) {
  .naw-home-hero {
    row-gap: 7px;
  }

  .naw-home-signup-teaser {
    grid-template-columns: minmax(260px, 1.25fr) minmax(250px, .95fr);
    align-items: center;
    gap: 10px;
    margin-top: 0;
    padding: 10px 12px 9px;
  }

  .naw-home-signup-teaser__intro {
    grid-column: 1;
    grid-row: 1;
  }

  .naw-home-signup-teaser__benefits {
    grid-column: 2;
    grid-row: 1;
    padding: 7px 72px 6px 9px;
  }

  .naw-home-signup-teaser__visual:first-child {
    display: none;
  }

  .naw-home-signup-teaser__intro h2 {
    font-size: clamp(18px, 2.45vw, 22px);
  }

  .naw-home-signup-teaser__intro p {
    margin-top: 4px;
    font-size: 12px;
  }

  .naw-home-signup-teaser__list li,
  .naw-home-signup-teaser__benefits > strong,
  .naw-home-signup-teaser__reveal {
    font-size: 12px;
  }

  .naw-home-signup-card {
    width: calc(100% - 24px);
  }
}

@media (min-width: 669px) and (max-width: 899px) {
  .naw-home-hero {
    padding-top: calc(var(--naw-home-nav-height) + var(--naw-home-login-height) + 4px);
    padding-bottom: 6px;
  }
}

@media (max-width: 668px) {
  .naw-home-signup-teaser {
    width: calc(100% - 24px);
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin-top: 8px;
    padding: 12px 12px 11px;
  }

  .naw-home-signup-teaser__benefits {
    grid-column: 1;
    grid-row: auto;
    padding-right: 82px;
  }

  .naw-home-signup-teaser__image--abeille {
    right: 2px;
    bottom: -2px;
    width: clamp(62px, 20vw, 84px);
    max-width: 30%;
    max-height: 100px;
  }

  .naw-home-signup-teaser__visual:first-child {
    display: none;
  }

  .naw-home-signup-teaser__intro h2 {
    font-size: 18px;
  }

  .naw-home-signup-teaser__intro p {
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.32;
  }

  .naw-home-signup-teaser__benefits {
    gap: 8px;
  }

  .naw-home-signup-teaser__list {
    gap: 5px;
  }

  .naw-home-signup-teaser__list li {
    padding-left: 20px;
    font-size: 12px;
  }

  .naw-home-signup-teaser__benefits > strong {
    font-size: 12px;
  }

  .naw-home-signup-teaser__reveal {
    max-width: 220px;
    font-size: 13px;
    line-height: 1.2;
  }

  .naw-home-hero__links {
    width: min(100%, 420px);
    margin-top: 11px;
    filter: none;
  }

  .naw-home-hero__primary-cta {
    min-height: 46px;
    font-size: 15px !important;
  }

  .naw-home-stats {
    width: 100%;
    max-width: 650px;
    margin-top: 10px;
    filter: none;
  }
}

/* Modal d'inscription : la carte complète s'ouvre au-dessus de l'accueil sans
 * modifier la hauteur du premier écran. */
body.naw-home-signup-modal-open {
  overflow: hidden;
}

.naw-home-signup-modal[hidden] {
  display: none !important;
}

.naw-home-signup-modal {
  position: fixed;
  inset: 0;
  z-index: 420;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(18px, 4vh, 42px) 14px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(3, 10, 7, .76);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.naw-home-signup-modal .naw-home-signup-card {
  position: relative;
  grid-column: auto;
  align-self: auto;
  justify-self: auto;
  width: min(100%, 570px);
  margin: auto 0;
  padding-top: 24px;
}

.naw-home-signup-modal__close {
  position: absolute;
  top: 7px;
  right: 8px;
  z-index: 4 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(92, 66, 39, .38);
  border-radius: 50%;
  background: rgba(83, 57, 31, .11);
  color: #4a3522;
  font-family: Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.naw-home-signup-modal__close:hover,
.naw-home-signup-modal__close:focus-visible {
  background: rgba(83, 57, 31, .20);
  color: #251a10;
  outline: 2px solid rgba(96, 132, 62, .42);
  outline-offset: 2px;
  transform: scale(1.05);
}

/* Petit appel visuel périodique sur le CTA principal, sans mouvement du layout. */
.naw-home-hero__primary-cta {
  animation: naw-home-primary-cta-attention 5.2s ease-in-out infinite;
}

@keyframes naw-home-primary-cta-attention {
  0%, 66%, 100% {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 12px rgba(103, 161, 59, .16), 0 1px 2px rgba(0, 0, 0, .28);
    filter: brightness(1);
  }
  75% {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 0 18px rgba(139, 205, 82, .35), 0 0 0 3px rgba(128, 190, 72, .10), 0 2px 4px rgba(0, 0, 0, .30);
    filter: brightness(1.045);
  }
  83% {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30), 0 0 14px rgba(128, 190, 72, .23), 0 1px 3px rgba(0, 0, 0, .29);
    filter: brightness(1.018);
  }
}

.naw-home-hero__primary-cta:hover,
.naw-home-hero__primary-cta:focus {
  animation-play-state: paused;
}

/* Un peu d'air entre les pictogrammes des statistiques et leurs libellés. */
.naw-home-stat__copy {
  padding-left: 4px;
}


@media (max-width: 668px) {
  .naw-home-signup-modal {
    padding: 14px 12px;
  }

  .naw-home-signup-modal .naw-home-signup-card {
    width: 100%;
    margin: auto 0;
    padding-top: 20px;
  }

  .naw-home-signup-modal__close {
    top: 5px;
    right: 6px;
    width: 32px;
    height: 32px;
    font-size: 22px;
  }

  .naw-home-stat__copy {
    padding-left: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .naw-home-hero__primary-cta {
    animation: none !important;
  }
}



.naw-home-title-line {
  display: block;
}

/* Sur tablette, les deux actions de la carte communauté restent côte à côte.
 * L'empilement n'est conservé que pour les petits écrans. */
@media (min-width: 669px) and (max-width: 899px) {
  .naw-home-lower-community-panel__actions {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }

  .naw-home-lower-community-panel__actions > a {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }
}

@media (max-width: 668px) {
  .naw-home-lower-community-panel__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .naw-home-lower-community-panel__actions > a {
    width: 100%;
  }
}

/* Ajustements 480-668 px : le lien d'inscription reste sur une ligne et la
 * capture est légèrement rentrée dans le cadre bois pour ne plus mordre sur
 * ses bords irréguliers. */
@media (min-width: 480px) and (max-width: 668px) {
  .naw-home-signup-teaser__reveal {
    max-width: none;
    white-space: nowrap;
  }

  .naw-home-lower-screen-card__media {
    width: calc(100% - 4px);
    margin: 2px 0 2px 4px;
    border-radius: 3px 0 0 3px;
  }
}
