/* Override: center hero content on tablet breakpoint (810-1199px) */
@media (min-width: 810px) and (max-width: 1199px) {
  .framer-1ft8naj,
  .framer-1ft8naj h1,
  .framer-1ft8naj p {
    text-align: center !important;
  }
  .framer-1573vid,
  .framer-rfkkj4 {
    align-items: center !important;
  }
}
/* Override: Blurr Circle - clip to section, no scrollbar */
.framer-1l7fcd1 {
  overflow: clip !important;
}
[data-framer-name="Blurr Circle"] {
  filter: none !important;
}
[data-framer-name="Blurr Circle"] [data-framer-name="Image"] {
  filter: brightness(1.2) blur(6px) saturate(1.5) !important;
}
/* Override: remove capitalize on card descriptions and titles */
[data-framer-name="For Whom Card"] p,
[data-framer-name="For Whom Card"] h4 {
  text-transform: none !important;
}
/* Override: align all cards to tallest */
[data-framer-name="For Whom Card"] {
  min-height: 466px !important;
}
/* Override: consistent card sizing with proper spacing */
[data-framer-name="For Whom Card"] figure {
  max-height: 200px !important;
  width: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}
[data-framer-name="For Whom Card"] figure > div {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
[data-framer-name="For Whom Card"] figure img {
  max-height: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
/* Override: rotate green hero background to blue/teal */
[data-framer-name="Background Image"] {
  filter: hue-rotate(120deg) saturate(1.2) !important;
}
/* Blurr Circle: image already blue, no hue-rotate needed */
/* === Pricing section → transformée en bloc CTA d'inscription gratuite ===
   On masque toutes les cartes "pass" + le wrapper + l'en-tête anglais
   ("Pricing & Registration / Claim Your Pass"), redondant avec la nouvelle CTA
   card injectée via __cta_inscription_inject__ (en bas du body). */
.framer-Aseh1 .framer-n97b9z { display: none !important; }
.framer-Aseh1 [data-framer-name="Heading Wrapper"] { display: none !important; }
/* Masque les fiches speakers (placeholder) sous chaque item du programme */
[data-framer-name="Agenda Section"] [data-framer-name="Speakers Wrapper"] { display: none !important; }
/* Le Container parent du Heading Wrapper masqué garde un padding-top de 120px
   qui désaligne le centrage vertical de la section. On le neutralise pour
   harmoniser les marges hautes/basses autour de la CTA card. */
.framer-Aseh1 .framer-c88xsi { display: none !important; }
.framer-Aseh1 .framer-1jyevwg {
  justify-content: center !important;
  align-items: center !important;
  flex-direction: column !important;
  gap: 32px !important;
  padding: 24px 20px !important;
}
.framer-Aseh1 .framer-cb7rom { height: 0 !important; min-height: 0 !important; }
/* Padding section pricing : top et bottom symétriques (120px desktop, 100px
   mobile) pour équilibrer les marges autour de la card.
   On supprime aussi le min-height des 3 variants (1000px Phone, 1500px Tablet)
   qui forçait la section à être plus haute que le contenu réel (card ~688px),
   créant des zones vides asymétriques. La section s'adapte au contenu. */
.framer-Aseh1.framer-1l7fcd1 { padding: 120px 0 !important; }
.framer-Aseh1.framer-v-111pucu.framer-1l7fcd1,
.framer-Aseh1.framer-v-1eszc8s.framer-1l7fcd1,
.framer-Aseh1.framer-v-1l7fcd1.framer-1l7fcd1,
.framer-Aseh1.framer-1l7fcd1 {
  min-height: 0 !important;
}
@media (max-width:809.98px){
  .framer-Aseh1.framer-1l7fcd1 { padding: 100px 0 !important; }
}

/* === Bloc CTA Inscription === */
.gs-cta-inscription {
  position: relative;
  z-index: 10;                   /* au-dessus du Blurr Circle décoratif */
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 48px 40px;
  box-sizing: border-box;
  color: var(--token-0c35c7d3-21de-4070-8046-4a3fa0c5baf0, #fafafa);
  background: transparent;
}
/* Les Blurr Circles de la section pricing sont purement décoratifs —
   leur image est derrière le contenu mais interceptait les clics du bouton. */
.framer-Aseh1 [data-framer-name="Blurr Circle"],
.framer-Aseh1 [data-framer-name="Blurr Circle"] img { pointer-events: none !important; }
@media (min-width: 810px) {
  .gs-cta-inscription { padding: 56px 56px; }
}
@media (min-width: 1200px) {
  .gs-cta-inscription { padding: 64px 64px; }
}
/* corner brackets — signature design system (échelle large) */
.gs-cta-inscription > i.cnr {
  position: absolute;
  width: 18px; height: 18px;
  border-color: rgba(255,255,255,.55);
  border-style: solid;
  border-width: 0;
  pointer-events: none;
}
.gs-cta-inscription > i.cnr.tl { top: 0; left: 0; border-top-width: 1px; border-left-width: 1px; }
.gs-cta-inscription > i.cnr.tr { top: 0; right: 0; border-top-width: 1px; border-right-width: 1px; }
.gs-cta-inscription > i.cnr.bl { bottom: 0; left: 0; border-bottom-width: 1px; border-left-width: 1px; }
.gs-cta-inscription > i.cnr.br { bottom: 0; right: 0; border-bottom-width: 1px; border-right-width: 1px; }

.gs-cta-inscription__badge {
  position: relative;
  display: inline-flex;
  padding: 4px 12px;
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.16em; line-height: 1.4em;
  text-transform: uppercase;
  color: var(--token-276bd830-8d7f-4388-99a2-590cbc197efd, #00d4ff);
}
.gs-cta-inscription__badge > i {
  position: absolute; width: 8px; height: 8px;
  border-color: var(--token-276bd830-8d7f-4388-99a2-590cbc197efd, #00d4ff);
  border-style: solid; border-width: 0;
}
.gs-cta-inscription__badge > i.tl { top: 0; left: 0; border-top-width: 1px; border-left-width: 1px; }
.gs-cta-inscription__badge > i.tr { top: 0; right: 0; border-top-width: 1px; border-right-width: 1px; }
.gs-cta-inscription__badge > i.bl { bottom: 0; left: 0; border-bottom-width: 1px; border-left-width: 1px; }
.gs-cta-inscription__badge > i.br { bottom: 0; right: 0; border-bottom-width: 1px; border-right-width: 1px; }

.gs-cta-inscription__title {
  margin: 16px 0 0;
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-size: 32px; font-weight: 700;
  letter-spacing: -0.01em; line-height: 1.1em;
  text-transform: uppercase;
  color: #fff;
}
@media (min-width: 810px)  { .gs-cta-inscription__title { font-size: 44px; } }
@media (min-width: 1200px) { .gs-cta-inscription__title { font-size: 56px; } }

.gs-cta-inscription__lead {
  margin: 16px 0 0;
  max-width: 640px;
  font-family: "Inter","Inter Placeholder",sans-serif;
  font-size: 16px; font-weight: 400;
  line-height: 1.55em;
  color: rgba(255,255,255,.78);
}
@media (min-width: 810px) { .gs-cta-inscription__lead { font-size: 17px; } }

.gs-cta-inscription__divider {
  margin: 32px 0;
  height: 1px;
  background-image: linear-gradient(to right, rgba(255,255,255,.25) 0, rgba(255,255,255,.25) 6px, transparent 6px, transparent 12px);
  background-size: 12px 1px;
  background-repeat: repeat-x;
}

.gs-cta-inscription__meta {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px 32px;
}
@media (min-width: 560px) {
  .gs-cta-inscription__meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* Lieu passe sur sa propre ligne, largeur totale, pour absorber l'adresse
     complète sans faire déborder les colonnes voisines. */
  .gs-cta-inscription__meta-wide { grid-column: 1 / -1; }
}
.gs-cta-inscription__meta li { display: flex; flex-direction: column; gap: 4px; }
.gs-cta-inscription__meta dt {
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(255,255,255,.5);
}
.gs-cta-inscription__meta dd {
  margin: 0;
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-size: 17px; font-weight: 600; line-height: 1.4em;
  color: #fff;
}

.gs-cta-inscription__perks {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.gs-cta-inscription__perks li {
  position: relative;
  padding-left: 26px;
  font-family: "Inter","Inter Placeholder",sans-serif;
  font-size: 15px; line-height: 1.5em;
  color: rgba(255,255,255,.86);
}
.gs-cta-inscription__perks li::before {
  content: ""; position: absolute;
  left: 0; top: 0.55em;
  width: 14px; height: 1px;
  background: var(--token-276bd830-8d7f-4388-99a2-590cbc197efd, #00d4ff);
}

.gs-cta-inscription__action {
  display: flex; flex-direction: column; gap: 12px;
  align-items: stretch;
  margin-top: 8px;
}
@media (min-width: 560px) {
  .gs-cta-inscription__action { flex-direction: row; align-items: center; gap: 20px; }
}

/* Bouton aligné sur le pattern Framer "Inscription" du site :
   border 1px gris + flat shadow 4px + fond cyan + flèche + animation slide verticale.
   Deux layers superposés (rest cyan/ink, hover ink/surface) qui slide en
   translateY(±100%) — calibrage en pourcentage, fonctionne avec n'importe quel texte. */
.gs-cta-inscription__btn {
  position: relative;
  display: inline-flex;
  vertical-align: top;
  /* flex-shrink:0 : le bouton ne doit jamais être écrasé par l'assurance text
     dans le layout row. Avant, à ~600px le bouton tombait à 91px (vs 241 natif)
     car assurance est nowrap et le squeeze flex tombait sur le bouton. */
  flex-shrink: 0;
  border: 1px solid var(--token-854dbf92-50ca-4836-9250-0bca15a37982, #7a7a7a);
  border-radius: 0;
  box-shadow: 4px 4px 0 0 var(--token-3b8e63d0-5768-48fc-b0d1-6907801c7b1c, #d2d2d2);
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow .2s ease;
}
.gs-cta-inscription__btn-layer {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 22px;
  /* Typographie : strictement identique au bouton "Inscription" natif de la navbar */
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: transform .45s cubic-bezier(0.2, 0, 0, 1);
  will-change: transform;
  box-sizing: border-box;
}
.gs-cta-inscription__btn-layer--rest {
  background: var(--token-276bd830-8d7f-4388-99a2-590cbc197efd, #00d4ff);
  color: var(--token-f08c50a5-58e8-41cb-9a7b-cf199da3cf1c, #000);
}
.gs-cta-inscription__btn-layer--hover {
  position: absolute;
  inset: 0;
  background: var(--token-f08c50a5-58e8-41cb-9a7b-cf199da3cf1c, #000);
  color: var(--token-0c35c7d3-21de-4070-8046-4a3fa0c5baf0, #fafafa);
  transform: translateY(100%);
}
.gs-cta-inscription__btn:hover .gs-cta-inscription__btn-layer--hover,
.gs-cta-inscription__btn:focus-visible .gs-cta-inscription__btn-layer--hover { transform: translateY(0); }
.gs-cta-inscription__btn:hover .gs-cta-inscription__btn-layer--rest,
.gs-cta-inscription__btn:focus-visible .gs-cta-inscription__btn-layer--rest  { transform: translateY(-100%); }
.gs-cta-inscription__btn:focus-visible {
  outline: none;
  box-shadow: 4px 4px 0 0 var(--token-3b8e63d0-5768-48fc-b0d1-6907801c7b1c, #d2d2d2),
              0 0 0 3px #000,
              0 0 0 5px var(--token-276bd830-8d7f-4388-99a2-590cbc197efd, #00d4ff);
}
.gs-cta-inscription__btn-icon {
  flex-shrink: 0;
  display: inline-flex;
  color: currentColor;
}
@media (prefers-reduced-motion: reduce) {
  .gs-cta-inscription__btn-layer { transition: none; }
}
@media (max-width: 559.98px) {
  .gs-cta-inscription__btn-layer--rest { flex: 1; justify-content: center; }
  .gs-cta-inscription__btn-layer--hover { justify-content: center; }
}

.gs-cta-inscription__assurance {
  margin: 0;
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,.5);
  /* white-space:normal : autorise le wrap si la place manque, ce qui évite
     d'écraser le bouton à côté à des largeurs intermédiaires (~600-820px).
     min-width:0 sur l'item flex pour que le shrink puisse opérer correctement. */
  white-space: normal;
  min-width: 0;
}
@media (max-width: 559.98px) {
  .gs-cta-inscription__assurance { white-space: normal; text-align: center; }
}

@media (max-width: 559.98px) {
  .gs-cta-inscription { padding: 36px 24px; }
  .gs-cta-inscription__title { font-size: 28px; }
}

/* FAQ — le preset Framer "crglo8" applique text-transform: capitalize,
   valide en anglais (Title Case) mais incorrect en français. On force
   la casse naturelle sur toutes les réponses FAQ. */
section[data-framer-name="FAQ Section"] [data-framer-name="Answer"] p,
section[data-framer-name="FAQ Section"] [data-framer-name="Answer"] .framer-text {
  text-transform: none !important;
}

/* === Galerie marquee — 3 rangées défilantes infinies ===
   Design system : pas de border-radius, Chakra Petch pour le badge/titre,
   corner brackets signature, même padding vertical que les autres sections
   (100px mobile, 120px desktop). Trois rangées : LTR / RTL / LTR.
   Défilement seamless grâce à duplication du contenu + translateX(0→-50%).
   Vitesses légèrement décalées entre les rangées pour un effet plus vivant. */
.gs-gallery {
  width: 100%;
  padding: 100px 0;
  overflow: hidden;
  background: var(--token-f32721c1-1efc-41a8-b039-569f7412a2a1, #eee);
}
@media (min-width: 1200px) { .gs-gallery { padding: 120px 0; } }

.gs-gallery__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto 56px;
  padding: 0 20px;
  text-align: center;
  box-sizing: border-box;
}
@media (min-width: 810px)  { .gs-gallery__header { padding: 0 40px; margin-bottom: 72px; } }

/* Badge corner-brackets — même règle que .gv-badge */
/* Le badge de la galerie est désormais un clone d'un <div data-framer-name="Section Tag">
   natif (via cloneNativeBadge dans __gallery_inject__), pas un élément custom. */

.gs-gallery__heading {
  margin: 0;
  font-family: "Chakra Petch","Chakra Petch Placeholder",sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.3em;
  letter-spacing: -0.01em;
  text-align: center;
  text-transform: uppercase;
  color: var(--token-f08c50a5-58e8-41cb-9a7b-cf199da3cf1c, #000);
}
@media (min-width: 810px)  { .gs-gallery__heading { font-size: 28px; } }
@media (min-width: 1200px) { .gs-gallery__heading { font-size: 32px; } }
@media (min-width: 1200px) {
  .gs-gallery__heading-lead,
  .gs-gallery__heading-rest { display: block; }
}

.gs-gallery__rows {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media (min-width: 810px)  { .gs-gallery__rows { gap: 22px; } }
@media (min-width: 1200px) { .gs-gallery__rows { gap: 28px; } }

.gs-gallery__row {
  width: 100%;
  overflow: hidden;
  /* Dégradé sur les bords pour fondre le défilement sans coupure brutale */
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
}

.gs-gallery__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Vitesses légèrement différentes pour casser la synchronisation */
.gs-gallery__row--ltr-a .gs-gallery__track {
  animation-name: gs-scroll-ltr;
  animation-duration: 70s;
}
.gs-gallery__row--rtl .gs-gallery__track {
  animation-name: gs-scroll-rtl;
  animation-duration: 60s;
}
.gs-gallery__row--ltr-b .gs-gallery__track {
  animation-name: gs-scroll-ltr;
  animation-duration: 80s;
}

@keyframes gs-scroll-ltr {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@keyframes gs-scroll-rtl {
  0%   { transform: translate3d(-50%, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

/* Pause au survol pour la lisibilité */
.gs-gallery__row:hover .gs-gallery__track { animation-play-state: paused; }

/* Tuiles — pas de border-radius (design system), marge à droite pour un
   décalage périodique seamless lors du loop */
.gs-gallery__item {
  flex: 0 0 auto;
  margin-right: 18px;
  width: 240px;
  height: 160px;
  overflow: hidden;
  background: var(--token-903b0944-977a-401d-aceb-77ea9dd763d5, #f3f3f3);
  border-radius: 0;
  position: relative;
}
@media (min-width: 810px)  { .gs-gallery__item { margin-right: 22px; width: 300px; height: 200px; } }
@media (min-width: 1200px) { .gs-gallery__item { margin-right: 28px; width: 360px; height: 240px; } }

.gs-gallery__item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  user-select: none;
  pointer-events: none;
}

/* Respect de prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .gs-gallery__track { animation: none; }
  .gs-gallery__row   { -webkit-mask-image: none; mask-image: none; }
}

/* === Scroll-reveal pour les badges clonés ("GALERIE", "LE LIEU") ===
   Les clones n'ayant plus d'inline style ni de data-framer-appear-id
   (strippés par cloneNativeBadge), c'est purement piloté CSS + observer. */
/* Animation @keyframes pure CSS pour les badges clonés — approche la plus
   robuste pour les sites Framer exportés en local, où le boot Motion ne
   traite pas les éléments injectés après hydratation (appear-id orphelin). */
@keyframes gs-badge-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.gs-reveal-badge {
  opacity: 0;
  transform: translateY(8px);
}
.gs-reveal-badge.gs-revealed {
  animation: gs-badge-fade-in 700ms cubic-bezier(0.2, 0, 0, 1) forwards;
}
@media (prefers-reduced-motion: reduce) {
  .gs-reveal-badge, .gs-reveal-badge.gs-revealed {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* === Section vidéo "Event Glimpse" — vidéo qui grandit au scroll
   pour occuper tout le viewport. Mécanique : section haute (~200vh)
   contenant un sticky pinné à 100vh ; pendant que l'utilisateur scrolle
   sur la 2e moitié, on calcule un progress 0→1 qui pilote le scale
   du conteneur via JS. */
/* Vidéo plein écran statique — pas d'animation, pas de scroll listener.
   La section occupe une hauteur de viewport ; la vidéo remplit toute la
   section en object-fit:cover (recadrage centré, pas de bandes noires). */
/* Hero vidéo style AmbiLight : un player YouTube centré avec un halo
   coloré (second iframe identique, flouté + scale) qui irradie autour. */
.gs-event-glimpse {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: var(--token-f32721c1-1efc-41a8-b039-569f7412a2a1, #000);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6vh 32px;
}
.gs-event-glimpse__shell {
  position: relative;
  width: 100%;
  max-width: 1200px;
  aspect-ratio: 16 / 9;
}
/* Glow : duplicata muet du player, scale > 1, fortement flouté.
   Pour un rendu type rétro-éclairage LED Philips Ambilight, on combine
   un scale large, un blur très important, et un masque radial qui
   éteint progressivement le halo sur les bords (pas de coupe nette
   du rectangle flouté). */
.gs-event-glimpse__glow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  transform: scale(1.55);
  transform-origin: center center;
  filter: blur(110px) saturate(1.8) brightness(1.55);
  opacity: 1;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 50%, rgba(0,0,0,0.55) 75%, transparent 100%);
          mask-image: radial-gradient(ellipse at center, #000 50%, rgba(0,0,0,0.55) 75%, transparent 100%);
}
/* Cadre du player principal : au-dessus du glow, masque le débord. */
.gs-event-glimpse__frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
  background: #000;
}
.gs-event-glimpse__main {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
@media (max-width: 809.98px) {
  .gs-event-glimpse { min-height: auto; padding: 64px 16px; }
  .gs-event-glimpse__glow {
    transform: scale(1.4);
    filter: blur(70px) saturate(1.7) brightness(1.5);
  }
}

/* Hide leftover Iconiq "About Us" button wrappers on the home (3 responsive
   variants). The button linked to pages/about.html which doesn't exist —
   would either 404 or, without our SPA-hijack fix, render Iconiq's original
   About template. Each wrapper contains exactly one About Us <a> (verified
   by inspecting the DOM: 1 about.html href + 2 SVG icon refs). */
.framer-1t0fatb-container,
.framer-1xo6vce-container {
  display: none !important;
}

/* Hide footer links to deleted policy pages: privacy-policy.html and
   terms-conditions.html. We keep only Mentions Légales (legally required
   in France). Vercel redirects below /policies/{privacy,terms} → home in
   case of old bookmarks. */
a[href*="policies/privacy-policy"],
a[href*="policies/terms-conditions"] {
  display: none !important;
}

/* Hide the "Inscription" button in the home navbar:
   - .framer-1i3bl4i-container: the cyan "Inscription" CTA button (2
     responsive variants — same wrapper class) shown in the top-right of
     the navbar.
   - .framer-glx5j7 a[href$="contact.html"]: the small "Inscription" text
     link in the burger menu's right column. The same wrapper class is
     used on the contact page but contains different content there
     (placeholder email), so the href$="contact.html" filter scopes the
     hide to the home page only. */
.framer-1i3bl4i-container,
.framer-glx5j7 a[href$="contact.html"] {
  display: none !important;
}

/* Hide the legacy "About Us" button — pages/about.html n'existe plus.
   Le href reste dans le DOM SSR Framer (3 variantes responsive), donc
   on le cache visuellement et on le rend non-cliquable. La page
   pages/about.html fait une redirection vers / pour les vieux liens. */
a[href$="pages/about.html"],
a[href$="/pages/about.html"],
a[href="about"],
a[href="/about"] {
  display: none !important;
}
