/* =====================================================================
   S2IA V56 — Correction professionnelle ciblée
   Zones concernées : header/compteur, menu mobile, slider mobile,
   raisons de participer, packs sponsoring et packs exposition.
   ===================================================================== */

:root{
  --v56-navy:#071f46;
  --v56-blue:#0d4da8;
  --v56-orange:#f26722;
  --v56-green:#24833a;
  --v56-ink:#13284a;
  --v56-muted:#5c6d88;
  --v56-line:#dce5ef;
  --v56-soft:#f4f7fb;
  --v56-warm:#fffaf4;
  --v56-shadow:0 24px 65px rgba(7,31,70,.13);
}

/* ---------------------------------------------------------------------
   1. HEADER ET COMPTEUR — UNE SEULE ARCHITECTURE, AUCUN FOND OPAQUE
   --------------------------------------------------------------------- */
.site-header{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:100000!important;
  width:100%!important;
  background:rgba(255,255,255,.985)!important;
  border:0!important;
  border-bottom:1px solid #e3eaf2!important;
  box-shadow:0 9px 30px rgba(7,31,70,.09)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
}

.site-header .top-shell{
  width:min(100%,1920px)!important;
  max-width:1920px!important;
  min-height:82px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:7px clamp(16px,2vw,38px)!important;
  display:grid!important;
  grid-template-columns:minmax(250px,330px) minmax(480px,1fr) auto!important;
  grid-template-areas:"brand navigation countdown"!important;
  align-items:center!important;
  column-gap:clamp(14px,1.5vw,28px)!important;
  row-gap:0!important;
}

.site-header .brand{
  grid-area:brand!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  width:auto!important;
}

.site-header .brand img,
.site-header .header-logo-exact{
  display:block!important;
  width:clamp(250px,17vw,322px)!important;
  max-width:100%!important;
  height:68px!important;
  min-height:0!important;
  max-height:68px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}

.site-header .main-nav{
  grid-area:navigation!important;
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.site-header .mobile-nav-head,
.site-header .mobile-nav-contact{
  display:none!important;
}

.site-header .main-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.site-header .main-nav .main-nav-links > a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:38px!important;
  padding:0 13px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:#f2f5f9!important;
  color:var(--v56-ink)!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:850!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}

.site-header .main-nav .main-nav-links > a:hover,
.site-header .main-nav .main-nav-links > a:focus-visible{
  transform:translateY(-2px)!important;
  background:#e8eef7!important;
  color:var(--v56-blue)!important;
  box-shadow:0 8px 17px rgba(7,31,70,.09)!important;
}

.site-header .main-nav .main-nav-links > a.is-active{
  background:var(--v56-navy)!important;
  color:#fff!important;
  border-color:var(--v56-navy)!important;
}

.site-header .mobile-nav-index,
.site-header .mobile-nav-arrow{
  display:none!important;
}

.site-header .header-countdown{
  grid-area:countdown!important;
  position:relative!important;
  justify-self:end!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.site-header .header-countdown::before,
.site-header .header-countdown::after{
  display:none!important;
  content:none!important;
}

.site-header .header-countdown .countdown-grid{
  display:grid!important;
  grid-template-columns:auto 8px auto 8px auto 8px auto!important;
  align-items:start!important;
  justify-content:center!important;
  gap:4px!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}

.countdown-unit{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  gap:5px!important;
}

.countdown-digits{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}

.flip-digit{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:44px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d1d7de!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#f8f9fa 0%,#eceff2 49%,#e4e7ea 50%,#f6f7f8 100%)!important;
  color:#303942!important;
  font-family:"Arial Narrow",Arial,sans-serif!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  text-shadow:0 1px 0 #fff!important;
  box-shadow:inset 0 1px 0 #fff,0 4px 9px rgba(35,43,52,.14)!important;
}

.flip-digit::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  height:1px!important;
  background:rgba(55,63,72,.24)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.75)!important;
  pointer-events:none!important;
}

.flip-digit::after{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  right:2px!important;
  top:2px!important;
  height:45%!important;
  border-radius:3px 3px 0 0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.44),rgba(255,255,255,0))!important;
  pointer-events:none!important;
}

.flip-digit.is-flipping{
  animation:v56FlipPulse .34s ease!important;
}

@keyframes v56FlipPulse{
  0%{transform:rotateX(0deg)}
  48%{transform:rotateX(-9deg)}
  100%{transform:rotateX(0deg)}
}

.countdown-unit small{
  display:block!important;
  margin:0!important;
  color:#7b8591!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.countdown-separator{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  color:#5a636c!important;
  font-family:Arial,sans-serif!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:700!important;
}

.site-header .nav-toggle{
  display:none!important;
}

/* ---------------------------------------------------------------------
   2. SLIDER — TRAITEMENT IDENTIQUE DES 10 BANNIÈRES
   --------------------------------------------------------------------- */
.hero-slider{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  line-height:0!important;
}

.slider-stage{
  position:relative!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.slider-viewport{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1999/786!important;
  overflow:hidden!important;
  background:#fff!important;
}

.slider-stage .slide,
.slider-stage [data-slide]{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
  background:#fff!important;
  transform:none!important;
  transition:opacity .65s ease,visibility .65s ease!important;
}

.slider-stage .slide.is-active,
.slider-stage [data-slide].is-active{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}

.slider-stage .slide::before,
.slider-stage .slide::after,
.slider-stage [data-slide]::before,
.slider-stage [data-slide]::after{
  display:none!important;
  content:none!important;
  background:none!important;
  filter:none!important;
}

.slider-stage .slide-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}

.slider-stage .slide-media,
.slider-stage .slide img,
.slider-stage [data-slide] img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  background:#fff!important;
}

.slider-stage .slider-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0 0 5px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--v56-navy)!important;
  font-size:38px!important;
  line-height:1!important;
  font-weight:400!important;
  box-shadow:0 14px 32px rgba(7,31,70,.24)!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(-50%)!important;
  transition:transform .2s ease,background .2s ease!important;
}

.slider-stage .slider-arrow:hover{
  background:#fff!important;
  transform:translateY(-50%) scale(1.06)!important;
}

.slider-stage .slider-arrow.prev{left:22px!important;right:auto!important}
.slider-stage .slider-arrow.next{right:22px!important;left:auto!important}
.slider-control-bar{display:none!important}
.slider-stage .mobile-slider-dots{display:none!important}

/* ---------------------------------------------------------------------
   3. RAISONS DE PARTICIPER — COMPOSITION ORIGINALE ET LISIBLE
   --------------------------------------------------------------------- */
.s2ia-participation-reasons{
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(70px,6vw,112px) 0!important;
  background:
    radial-gradient(circle at 4% 2%,rgba(36,131,58,.10) 0 130px,transparent 132px),
    radial-gradient(circle at 96% 96%,rgba(242,103,34,.10) 0 170px,transparent 172px),
    linear-gradient(135deg,#f7f8f7 0%,#fffaf4 52%,#f3f7fb 100%)!important;
}

.s2ia-participation-reasons .s2ia-showcase-inner,
.s2ia-pack-section .s2ia-showcase-inner{
  width:min(94%,1660px)!important;
  max-width:1660px!important;
  margin:0 auto!important;
  padding:0!important;
}

.reasons-shell{
  position:relative!important;
  z-index:1!important;
}

.reasons-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:36px!important;
  margin:0 0 36px!important;
  padding:0 0 28px!important;
  border-bottom:1px solid rgba(7,31,70,.13)!important;
}

.reasons-copy{max-width:980px!important}

.reasons-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  margin:0 0 15px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--v56-green)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  box-shadow:0 8px 24px rgba(7,31,70,.08)!important;
}

.reasons-intro h2{
  margin:0!important;
  color:var(--v56-navy)!important;
  font-size:clamp(38px,4.25vw,72px)!important;
  line-height:.98!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}

.reasons-intro h2 em{
  color:var(--v56-orange)!important;
  font-family:Georgia,serif!important;
  font-weight:600!important;
}

.reasons-intro p{
  max-width:870px!important;
  margin:18px 0 0!important;
  color:#41536f!important;
  font-size:clamp(16px,1.15vw,20px)!important;
  line-height:1.65!important;
}

.reasons-summary{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:205px!important;
  padding:18px 20px!important;
  border:1px solid rgba(7,31,70,.12)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 16px 35px rgba(7,31,70,.08)!important;
}

.reasons-summary strong{
  color:var(--v56-navy)!important;
  font-size:50px!important;
  line-height:1!important;
  font-weight:950!important;
}

.reasons-summary span{
  color:#52647e!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

.reasons-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

.reason-item{
  --reason-accent:var(--v56-blue);
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:164px!important;
  margin:0!important;
  padding:22px 22px 24px!important;
  overflow:hidden!important;
  border:1px solid rgba(7,31,70,.10)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 13px 32px rgba(7,31,70,.075)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}

.reason-item::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  background:var(--reason-accent)!important;
}

.reason-item:hover{
  transform:translateY(-5px)!important;
  border-color:color-mix(in srgb,var(--reason-accent) 35%,#dce5ef)!important;
  box-shadow:0 22px 44px rgba(7,31,70,.12)!important;
}

.reason-tone-1{--reason-accent:#0d4da8}
.reason-tone-2{--reason-accent:#f26722}
.reason-tone-3{--reason-accent:#24833a}
.reason-tone-4{--reason-accent:#8358b5}

.reason-topline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 18px!important;
}

.reason-number{
  color:var(--reason-accent)!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}

.reason-tag{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--reason-accent) 10%,#fff)!important;
  color:var(--reason-accent)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.reason-item p{
  max-width:88%!important;
  margin:0!important;
  color:var(--v56-ink)!important;
  font-size:17px!important;
  line-height:1.5!important;
  font-weight:750!important;
}

.reason-arrow{
  position:absolute!important;
  right:20px!important;
  bottom:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#f1f4f8!important;
  color:var(--reason-accent)!important;
  font-size:17px!important;
  font-weight:900!important;
}

/* ---------------------------------------------------------------------
   4. PACKS SPONSORING ET EXPOSITION — IMAGES PLEIN CADRE, CARTES ALIGNÉES
   --------------------------------------------------------------------- */
.s2ia-pack-section{
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(72px,6vw,112px) 0!important;
}

.sponsor-pack-section{
  background:linear-gradient(180deg,#fff 0%,#f4f7fb 100%)!important;
}

.exhibition-pack-section{
  background:linear-gradient(145deg,#f8fafc 0%,#fff 58%,#fff8f2 100%)!important;
}

.pack-section-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,620px)!important;
  align-items:end!important;
  gap:40px!important;
  margin:0 0 38px!important;
  padding:0 0 26px!important;
  border-bottom:1px solid #dce4ee!important;
}

.pack-section-eyebrow{
  display:block!important;
  margin:0 0 10px!important;
  color:var(--v56-orange)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.exhibition-heading .pack-section-eyebrow{color:var(--v56-green)!important}

.pack-section-header h2{
  margin:0!important;
  color:var(--v56-navy)!important;
  font-size:clamp(38px,4vw,68px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}

.pack-section-header p{
  margin:0!important;
  color:#50617b!important;
  font-size:17px!important;
  line-height:1.65!important;
}

.professional-pack-grid{
  display:grid!important;
  gap:20px!important;
  align-items:stretch!important;
}

.sponsor-pack-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.exhibition-pack-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.professional-pack-card{
  --pack-accent:var(--v56-blue);
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #dfe6ee!important;
  border-radius:23px!important;
  background:#fff!important;
  box-shadow:0 16px 44px rgba(7,31,70,.09)!important;
  isolation:isolate!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}

.professional-pack-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  z-index:5!important;
  height:5px!important;
  background:var(--pack-accent)!important;
}

.professional-pack-card:hover{
  transform:translateY(-7px)!important;
  border-color:color-mix(in srgb,var(--pack-accent) 36%,#dfe6ee)!important;
  box-shadow:0 28px 62px rgba(7,31,70,.15)!important;
}

.sponsor-tone-1{--pack-accent:#0d4da8}
.sponsor-tone-2{--pack-accent:#d49a00}
.sponsor-tone-3{--pack-accent:#24833a}
.sponsor-tone-4{--pack-accent:#b1682d}
.expo-tone-1{--pack-accent:#0d4da8}
.expo-tone-2{--pack-accent:#d49a00}
.expo-tone-3{--pack-accent:#24833a}
.expo-tone-4{--pack-accent:#b1682d}
.expo-tone-5{--pack-accent:#7952ad}
.expo-tone-6{--pack-accent:#f26722}
.expo-tone-7{--pack-accent:#1f5eaa}
.expo-tone-8{--pack-accent:#19a086}

.pack-visual-button{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#eef3f8!important;
  color:inherit!important;
  cursor:pointer!important;
  line-height:0!important;
}

.pack-visual-button::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,transparent 45%,rgba(7,31,70,.72) 100%)!important;
  pointer-events:none!important;
}

.pack-visual-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#eef3f8!important;
  transform:scale(1.01)!important;
  transition:transform .45s ease!important;
}

.professional-pack-card:hover .pack-visual-button img{
  transform:scale(1.055)!important;
}

.pack-serial{
  position:absolute!important;
  top:18px!important;
  left:18px!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:31px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(7,31,70,.93)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:0 8px 20px rgba(7,31,70,.18)!important;
}

.pack-view-label{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:15px!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:left!important;
}

.pack-view-label b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:31px!important;
  height:31px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--pack-accent)!important;
  font-size:15px!important;
}

.professional-pack-content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:25px 24px 24px!important;
}

.pack-heading-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  margin:0 0 9px!important;
}

.pack-tier-dot{
  flex:0 0 auto!important;
  width:11px!important;
  height:11px!important;
  margin-top:9px!important;
  border-radius:50%!important;
  background:var(--pack-accent)!important;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pack-accent) 13%,transparent)!important;
}

.professional-pack-card h3{
  margin:0!important;
  color:var(--v56-navy)!important;
  font-size:clamp(23px,1.7vw,31px)!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}

.professional-pack-card .pack-subtitle{
  margin:8px 0 18px!important;
  color:#556783!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:650!important;
}

.pack-advantages{
  display:grid!important;
  gap:10px!important;
  margin:0 0 20px!important;
  padding:0!important;
  list-style:none!important;
}

.pack-advantages li{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 24px!important;
  color:#253b5c!important;
  font-size:14px!important;
  line-height:1.45!important;
}

.pack-advantages li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  color:var(--pack-accent)!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:950!important;
}

.pack-more{
  margin:-4px 0 20px!important;
  color:var(--pack-accent)!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:850!important;
}

.pack-card-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:5px!important;
}

.pack-action-outline,
.pack-action-primary,
.pack-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:8px 13px!important;
  border-radius:12px!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:900!important;
  text-align:center!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}

.pack-action-outline{
  border:1px solid #cdd8e5!important;
  background:#fff!important;
  color:var(--v56-navy)!important;
}

.pack-action-primary,
.pack-cta{
  border:1px solid var(--pack-accent)!important;
  background:var(--pack-accent)!important;
  color:#fff!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--pack-accent) 25%,transparent)!important;
}

.pack-action-outline:hover,
.pack-action-primary:hover,
.pack-cta:hover{
  transform:translateY(-2px)!important;
}

.exhibition-meta-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
}

.stand-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--pack-accent) 11%,#fff)!important;
  color:var(--pack-accent)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.stand-pack-number{
  color:#c4cfdd!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:950!important;
}

.exhibition-professional-card .pack-area{
  color:var(--pack-accent)!important;
  font-weight:850!important;
}

/* ---------------------------------------------------------------------
   5. POPUPS DES STANDS — GRANDE IMAGE, DETAILS CLAIRS
   --------------------------------------------------------------------- */
.stand-pack-modal{
  z-index:100020!important;
}

.stand-pack-modal .modal-backdrop{
  background:rgba(4,15,34,.78)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
}

.stand-pack-modal-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;
  align-items:stretch!important;
  gap:0!important;
  width:min(94vw,1460px)!important;
  max-width:1460px!important;
  max-height:90dvh!important;
  margin:5dvh auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 38px 100px rgba(0,0,0,.38)!important;
}

.stand-pack-photo{
  min-height:570px!important;
  overflow:hidden!important;
  background:#edf2f8!important;
}

.stand-pack-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:570px!important;
  object-fit:cover!important;
  object-position:center!important;
}

.stand-pack-copy{
  display:flex!important;
  flex-direction:column!important;
  max-height:90dvh!important;
  padding:54px 42px 38px!important;
  overflow-y:auto!important;
}

.stand-pack-copy .stand-type-badge{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:31px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:var(--v56-navy)!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

.stand-pack-copy h2{
  margin:18px 0 8px!important;
  color:var(--v56-navy)!important;
  font-size:clamp(31px,3vw,48px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}

.stand-pack-copy h3{
  margin:24px 0 13px!important;
  color:var(--v56-navy)!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
}

.stand-pack-copy .pack-subtitle{
  margin:0!important;
  color:#5a6b84!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.stand-pack-copy .pack-advantages{
  margin-bottom:26px!important;
}

.stand-pack-copy .pack-advantages li{
  font-size:15px!important;
}

.stand-pack-copy .pack-cta{
  align-self:flex-start!important;
  min-width:220px!important;
  min-height:48px!important;
  margin-top:auto!important;
  border-color:var(--v56-orange)!important;
  background:var(--v56-orange)!important;
  font-size:13px!important;
}

.stand-pack-modal-card .modal-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(7,31,70,.12)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--v56-navy)!important;
  font-size:28px!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(7,31,70,.15)!important;
}

/* ---------------------------------------------------------------------
   6. TABLETTE / MOBILE — HEADER COMPACT, MENU CLAIR DE DROITE A GAUCHE
   --------------------------------------------------------------------- */
@media (max-width:1500px){
  .site-header .top-shell{
    grid-template-columns:minmax(235px,285px) minmax(420px,1fr) auto!important;
    column-gap:14px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{width:270px!important}
  .site-header .main-nav .main-nav-links > a{padding:0 10px!important;font-size:11.6px!important}
  .flip-digit{width:25px!important;height:41px!important;font-size:25px!important}
  .countdown-separator{height:41px!important;font-size:21px!important}
}

@media (max-width:1260px){
  .sponsor-pack-grid,
  .exhibition-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:1100px){
  html{scroll-padding-top:128px!important}
  body{padding-top:0!important;overflow-x:hidden!important}

  .site-header{
    position:sticky!important;
    top:0!important;
    min-height:0!important;
  }

  .site-header .top-shell{
    width:100%!important;
    min-height:126px!important;
    height:126px!important;
    padding:2px 12px 4px!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    grid-template-rows:69px 51px!important;
    grid-template-areas:
      "brand toggle"
      "countdown countdown"!important;
    column-gap:8px!important;
    row-gap:0!important;
    align-items:center!important;
  }

  .site-header .brand{
    align-self:center!important;
    height:69px!important;
    overflow:hidden!important;
  }

  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(350px,calc(100vw - 86px))!important;
    max-width:min(350px,calc(100vw - 86px))!important;
    height:66px!important;
    min-height:0!important;
    max-height:66px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .site-header .nav-toggle{
    grid-area:toggle!important;
    position:relative!important;
    inset:auto!important;
    z-index:100015!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    width:56px!important;
    min-width:56px!important;
    height:56px!important;
    margin:0!important;
    padding:0!important;
    gap:6px!important;
    border:0!important;
    border-radius:17px!important;
    background:var(--v56-navy)!important;
    box-shadow:0 12px 26px rgba(7,31,70,.22)!important;
    cursor:pointer!important;
  }

  .site-header .nav-toggle span{
    display:block!important;
    width:26px!important;
    height:3px!important;
    margin:0!important;
    border-radius:999px!important;
    background:#fff!important;
    transition:transform .25s ease,opacity .2s ease!important;
  }

  .site-header .nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)!important}
  .site-header .nav-toggle.is-open span:nth-child(2){opacity:0!important}
  .site-header .nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important}

  .site-header .header-countdown{
    grid-area:countdown!important;
    justify-self:center!important;
    align-self:center!important;
    width:100%!important;
    height:49px!important;
    min-height:49px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:0!important;
  }

  .site-header .header-countdown .countdown-grid{
    grid-template-columns:auto 7px auto 7px auto 7px auto!important;
    gap:3px!important;
  }

  .flip-digit{
    width:24px!important;
    height:36px!important;
    border-radius:4px!important;
    font-size:23px!important;
    box-shadow:inset 0 1px 0 #fff,0 3px 7px rgba(35,43,52,.14)!important;
  }

  .countdown-digits{gap:2px!important}
  .countdown-unit{gap:4px!important}
  .countdown-unit small{font-size:7px!important;letter-spacing:.07em!important}
  .countdown-separator{height:36px!important;font-size:20px!important}

  /* Volet mobile clair, professionnel et couvrant l'écran. */
  .site-header .main-nav{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:100014!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:min(92vw,455px)!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#fbfcfe 0%,#eef3f8 100%)!important;
    box-shadow:-34px 0 90px rgba(3,16,37,.28)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .34s cubic-bezier(.22,.78,.28,1),opacity .25s ease,visibility .25s ease!important;
  }

  .site-header .main-nav.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }

  body.mobile-nav-open{
    overflow:hidden!important;
    touch-action:none!important;
  }

  body.mobile-nav-open::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:100012!important;
    display:block!important;
    background:rgba(3,15,34,.52)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
  }

  .site-header .mobile-nav-head{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:104px!important;
    padding:17px 17px 16px 20px!important;
    border-bottom:1px solid #dce5ef!important;
    background:#fff!important;
  }

  .mobile-nav-brand{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    min-width:0!important;
  }

  .mobile-nav-brand img{
    display:block!important;
    flex:0 0 auto!important;
    width:112px!important;
    height:58px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .mobile-nav-brand div{
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    min-width:0!important;
  }

  .mobile-nav-brand strong{
    color:var(--v56-navy)!important;
    font-size:16px!important;
    line-height:1.1!important;
    font-weight:950!important;
  }

  .mobile-nav-brand span{
    color:#64758d!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:700!important;
  }

  .site-header .nav-close{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:43px!important;
    height:43px!important;
    padding:0!important;
    border:1px solid #dce4ed!important;
    border-radius:13px!important;
    background:#f3f6fa!important;
    color:var(--v56-navy)!important;
    font-size:29px!important;
    line-height:1!important;
    font-weight:400!important;
    cursor:pointer!important;
  }

  .site-header .main-nav-links{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-height:0!important;
    padding:18px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .site-header .main-nav .main-nav-links > a{
    --nav-accent:var(--v56-blue);
    position:relative!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 30px!important;
    align-items:center!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:7px 11px 7px 9px!important;
    overflow:hidden!important;
    border:1px solid #dbe4ed!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#111b2c!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:850!important;
    text-align:left!important;
    box-shadow:0 8px 22px rgba(7,31,70,.065)!important;
    opacity:0!important;
    transform:translateX(24px)!important;
    transition:transform .25s ease,opacity .25s ease,border-color .2s ease,box-shadow .2s ease!important;
  }

  .site-header .main-nav.is-open .main-nav-links > a{
    opacity:1!important;
    transform:translateX(0)!important;
  }

  .site-header .main-nav.is-open .main-nav-links > a:nth-child(1){transition-delay:.05s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(2){transition-delay:.08s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(3){transition-delay:.11s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(4){transition-delay:.14s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(5){transition-delay:.17s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(6){transition-delay:.20s!important}

  .site-header .main-nav .main-nav-links > a:nth-child(1){--nav-accent:#0d4da8}
  .site-header .main-nav .main-nav-links > a:nth-child(2){--nav-accent:#f26722}
  .site-header .main-nav .main-nav-links > a:nth-child(3){--nav-accent:#24833a}
  .site-header .main-nav .main-nav-links > a:nth-child(4){--nav-accent:#7a56ad}
  .site-header .main-nav .main-nav-links > a:nth-child(5){--nav-accent:#148ea1}
  .site-header .main-nav .main-nav-links > a:nth-child(6){--nav-accent:#bb3d4b}

  .site-header .main-nav .main-nav-links > a::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:10px!important;
    bottom:10px!important;
    width:4px!important;
    border-radius:0 6px 6px 0!important;
    background:var(--nav-accent)!important;
  }

  .site-header .main-nav .main-nav-links > a:hover,
  .site-header .main-nav .main-nav-links > a:focus-visible,
  .site-header .main-nav .main-nav-links > a.is-active{
    transform:translateX(0)!important;
    border-color:color-mix(in srgb,var(--nav-accent) 38%,#dbe4ed)!important;
    background:#fff!important;
    color:#111b2c!important;
    box-shadow:0 13px 28px rgba(7,31,70,.11)!important;
  }

  .site-header .mobile-nav-index{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
    background:color-mix(in srgb,var(--nav-accent) 10%,#fff)!important;
    color:var(--nav-accent)!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
  }

  .site-header .nav-label{
    display:block!important;
    min-width:0!important;
    padding:0 7px!important;
  }

  .site-header .mobile-nav-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    border-radius:50%!important;
    background:#f2f5f9!important;
    color:var(--nav-accent)!important;
    font-size:16px!important;
    font-weight:900!important;
  }

  .site-header .mobile-nav-contact{
    flex:0 0 auto!important;
    display:block!important;
    padding:16px 18px 20px!important;
    border-top:1px solid #dce5ef!important;
    background:rgba(255,255,255,.88)!important;
  }

  .mobile-nav-contact > p{
    margin:0 0 10px!important;
    color:#7c899b!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  .mobile-contact-line{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    color:var(--v56-navy)!important;
    font-size:12px!important;
    line-height:1.25!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .mobile-contact-line span{
    color:var(--v56-orange)!important;
    font-size:16px!important;
  }

  .mobile-nav-cta-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-top:12px!important;
  }

  .site-header .mobile-nav-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:7px 9px!important;
    border:0!important;
    border-radius:12px!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:900!important;
    text-align:center!important;
  }

  .site-header .mobile-nav-cta.primary{background:var(--v56-blue)!important}
  .site-header .mobile-nav-cta.secondary{background:var(--v56-orange)!important}

  /* Slider mobile : image officielle entière, même ratio sur les 10 slides. */
  .hero-slider{
    margin:0!important;
    background:var(--v56-navy)!important;
  }

  .slider-stage{
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    background:var(--v56-navy)!important;
  }

  .slider-viewport{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1200/650!important;
    background:var(--v56-navy)!important;
  }

  .slider-stage .slide,
  .slider-stage [data-slide]{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:#fff!important;
  }

  .slider-stage .slide-media,
  .slider-stage .slide img,
  .slider-stage [data-slide] img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center!important;
    background:var(--v56-navy)!important;
  }

  .slider-stage .slide-picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .slider-stage .slider-arrow.prev{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .slider-stage .slider-arrow.next{
    top:auto!important;
    right:auto!important;
    left:50%!important;
    bottom:43px!important;
    z-index:35!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:55px!important;
    height:55px!important;
    padding:0 0 4px!important;
    border:4px solid rgba(255,255,255,.92)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--v56-blue)!important;
    font-size:38px!important;
    box-shadow:0 13px 28px rgba(3,16,37,.28)!important;
    transform:translate(-50%,50%)!important;
  }

  .slider-stage .slider-arrow.next:hover{
    transform:translate(-50%,50%) scale(1.04)!important;
  }

  .slider-control-bar{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:0!important;
    background:linear-gradient(180deg,#11223a 0%,#07111f 100%)!important;
  }

  .slider-stage .mobile-slider-dots,
  .slider-stage .slider-dots.mobile-slider-dots{
    position:static!important;
    inset:auto!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:7px 12px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.10)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .slider-stage .mobile-slider-dots button{
    display:block!important;
    width:9px!important;
    min-width:9px!important;
    height:9px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.62)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:width .2s ease,background .2s ease!important;
  }

  .slider-stage .mobile-slider-dots button.is-active{
    width:31px!important;
    background:var(--v56-orange)!important;
  }

  .stand-pack-modal-card{
    grid-template-columns:1fr!important;
    width:min(94vw,820px)!important;
    max-height:92dvh!important;
    margin:4dvh auto!important;
    overflow-y:auto!important;
  }

  .stand-pack-photo,
  .stand-pack-photo img{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
  }

  .stand-pack-copy{
    max-height:none!important;
    padding:30px 25px 28px!important;
    overflow:visible!important;
  }
}

@media (max-width:760px){
  .reasons-intro,
  .pack-section-header{
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:20px!important;
  }

  .reasons-summary{display:none!important}
  .reasons-grid{grid-template-columns:1fr!important}
  .sponsor-pack-grid,
  .exhibition-pack-grid{grid-template-columns:1fr!important}

  .s2ia-participation-reasons,
  .s2ia-pack-section{padding:58px 0!important}

  .s2ia-participation-reasons .s2ia-showcase-inner,
  .s2ia-pack-section .s2ia-showcase-inner{width:min(92%,620px)!important}

  .professional-pack-card h3{font-size:27px!important}
}

@media (max-width:560px){
  html{scroll-padding-top:123px!important}

  .site-header .top-shell{
    min-height:121px!important;
    height:121px!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    grid-template-rows:66px 49px!important;
    padding:2px 10px 4px!important;
  }

  .site-header .brand{height:66px!important}

  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(326px,calc(100vw - 76px))!important;
    max-width:min(326px,calc(100vw - 76px))!important;
    height:63px!important;
    max-height:63px!important;
  }

  .site-header .nav-toggle{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    border-radius:16px!important;
  }

  .site-header .header-countdown{
    height:51px!important;
    min-height:51px!important;
  }

  .site-header .header-countdown .countdown-grid{
    grid-template-columns:auto 5px auto 5px auto 5px auto!important;
    gap:2px!important;
  }

  .flip-digit{
    width:21px!important;
    height:34px!important;
    font-size:21px!important;
  }

  .countdown-digits{gap:1px!important}
  .countdown-separator{width:5px!important;height:34px!important;font-size:18px!important}
  .countdown-unit small{font-size:6.4px!important;letter-spacing:.05em!important}

  .site-header .main-nav{width:min(94vw,430px)!important}
  .site-header .mobile-nav-head{min-height:94px!important;padding:14px 14px 13px 17px!important}
  .mobile-nav-brand img{width:102px!important;height:52px!important}
  .site-header .main-nav-links{padding:14px!important;gap:8px!important}
  .site-header .main-nav .main-nav-links > a{min-height:54px!important;font-size:14px!important}
  .site-header .mobile-nav-contact{padding:13px 14px 16px!important}

  .slider-stage .slider-arrow.next{
    width:50px!important;
    height:50px!important;
    bottom:42px!important;
    font-size:34px!important;
  }
  .slider-control-bar{height:55px!important;min-height:55px!important}
  .slider-stage .mobile-slider-dots{gap:7px!important;padding:6px 10px!important}
  .slider-stage .mobile-slider-dots button{width:8px!important;min-width:8px!important;height:8px!important}
  .slider-stage .mobile-slider-dots button.is-active{width:27px!important}

  .reasons-kicker{font-size:9px!important;letter-spacing:.09em!important}
  .reasons-intro h2{font-size:40px!important}
  .reasons-intro p{font-size:15px!important}
  .reason-item{min-height:150px!important;padding:20px!important}
  .reason-item p{font-size:16px!important}

  .pack-section-header h2{font-size:40px!important}
  .pack-section-header p{font-size:15px!important}
  .professional-pack-content{padding:22px 20px 21px!important}
  .pack-card-actions{grid-template-columns:1fr!important}
  .pack-action-outline,.pack-action-primary{min-height:46px!important}

  .stand-pack-copy h2{font-size:34px!important}
  .stand-pack-copy{padding:27px 20px 24px!important}
}

@media (max-width:360px){
  .site-header .top-shell{
    grid-template-columns:minmax(0,1fr) 47px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(270px,calc(100vw - 68px))!important;
    max-width:min(270px,calc(100vw - 68px))!important;
  }
  .site-header .nav-toggle{width:46px!important;min-width:46px!important;height:46px!important}
  .flip-digit{width:19px!important;height:32px!important;font-size:19px!important}
  .countdown-separator{height:32px!important;font-size:16px!important}
  .countdown-unit small{font-size:6px!important}
}

@media (prefers-reduced-motion:reduce){
  .flip-digit,
  .slider-stage .slide,
  .professional-pack-card,
  .reason-item,
  .site-header .main-nav,
  .site-header .main-nav .main-nav-links > a{
    animation:none!important;
    transition:none!important;
  }
}


/* V56 FINAL — protections ciblées contre les anciennes règles en cascade */
@media (max-width:1100px){
  .site-header .top-shell{overflow:visible!important}
  .site-header .header-countdown{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  .site-header .header-countdown .countdown-grid{max-width:100%!important;overflow:visible!important}
  .site-header .nav-toggle[aria-expanded="true"]{background:#0d4da8!important}
  .slider-stage .slide-picture{display:block!important}
}
@media (max-width:420px){
  .site-header .top-shell{padding-left:7px!important;padding-right:7px!important}
  .site-header .brand img,.site-header .header-logo-exact{width:min(300px,calc(100vw - 68px))!important;max-width:min(300px,calc(100vw - 68px))!important}
  .flip-digit{width:19px!important;height:32px!important;font-size:19px!important}
  .countdown-digits{gap:1px!important}
  .countdown-separator{width:4px!important;height:32px!important;font-size:15px!important}
  .countdown-unit small{font-size:5.8px!important;letter-spacing:.04em!important}
}

/* V56 FINAL-2 — superposition mobile sous le volet, menu net et cliquable */
@media (max-width:1100px){
  body.mobile-nav-open::before{
    content:none!important;
    display:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  body.mobile-nav-open .site-header::after{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:100010!important;
    display:block!important;
    background:rgba(3,15,34,.52)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
    pointer-events:auto!important;
  }

  .site-header .main-nav{z-index:100014!important}
  .site-header .nav-toggle{z-index:100015!important}
}

/* V56 FINAL-2 — finitions du volet mobile */
@media (max-width:1100px){
  .site-header .main-nav::before{
    content:none!important;
    display:none!important;
  }

  .site-header .nav-toggle.is-open,
  .site-header .nav-toggle[aria-expanded="true"]{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:scale(.86)!important;
  }

  body .site-header .main-nav .mobile-contact-line,
  body .site-header .main-nav .mobile-contact-line b{
    color:#132238!important;
    opacity:1!important;
    text-shadow:none!important;
  }

  body .site-header .main-nav .mobile-contact-line:hover,
  body .site-header .main-nav .mobile-contact-line:focus-visible{
    color:#0d4da8!important;
    background:transparent!important;
  }
}

/* ========================================================================== 
   S2IA V56 — CONSOLIDATION FINALE DES COMPOSANTS CRITIQUES
   Header, compteur, navigation mobile et slider
   ========================================================================== */

/* Compteur flip — rendu uniforme sur ordinateur, tablette et mobile */
.header-countdown {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.countdown {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 100% !important;
  background: transparent !important;
}

.countdown-segment {
  display: grid !important;
  grid-template-rows: auto auto !important;
  justify-items: center !important;
  align-items: start !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.countdown-number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #26303b !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

.flip-digit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 36px !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 29, 65, .12) !important;
  border-radius: 5px !important;
  background: linear-gradient(180deg, #fbfbfb 0%, #eeeeef 49%, #e4e5e7 50%, #f7f7f8 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 3px 7px rgba(7, 31, 70, .14) !important;
  color: #242b34 !important;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 #fff !important;
}

.flip-digit::before {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: rgba(41, 48, 58, .22) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .72) !important;
  pointer-events: none !important;
}

.flip-digit::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px 1px auto 1px !important;
  height: 46% !important;
  border-radius: 4px 4px 0 0 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, 0)) !important;
  pointer-events: none !important;
}

.countdown-label {
  display: block !important;
  margin-top: 6px !important;
  color: #7b838e !important;
  font-family: Arial, sans-serif !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  letter-spacing: .5px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.countdown-separator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 7px !important;
  height: 36px !important;
  margin: 0 !important;
  color: #69717b !important;
  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 36px !important;
  background: transparent !important;
}

/* Le bouton de navigation du carrousel reste strictement dans l'image. */
.slider-stage .slider-viewport {
  position: relative !important;
  overflow: hidden !important;
}

.slider-stage .slider-arrow.next {
  position: absolute !important;
  z-index: 14 !important;
  top: auto !important;
  right: auto !important;
  bottom: 13px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}

/* Empêche les flèches d'un carrousel situé plus bas de remonter dans le hero. */
@media (max-width: 1100px) {
  #eventFinanceTrack .strip-arrow {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  html {
    scroll-padding-top: 122px !important;
  }

  body.mobile-nav-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.mobile-nav-open::before {
    display: none !important;
  }

  body.mobile-nav-open .s2ia-install-prompt,
  body.mobile-nav-open .pwa-install-prompt,
  body.mobile-nav-open [data-pwa-prompt] {
    display: none !important;
  }

  .site-header {
    z-index: 100100 !important;
  }

  .site-header .top-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 56px !important;
    grid-template-rows: 69px 43px !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    min-height: 116px !important;
    height: 116px !important;
    padding: 2px 9px 2px 13px !important;
    overflow: visible !important;
    border-radius: 26px !important;
  }

  .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
    width: min(73vw, 315px) !important;
    height: 66px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .brand img,
  .site-header .brand-logo {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 66px !important;
    max-height: 66px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .nav-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    border-radius: 15px !important;
  }

  .nav-toggle.is-open {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .site-header .header-countdown {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 41px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .countdown {
    gap: 4px !important;
    height: 41px !important;
  }

  .site-header .flip-digit {
    width: 22px !important;
    height: 30px !important;
    border-radius: 4px !important;
    font-size: 21px !important;
  }

  .site-header .countdown-number {
    gap: 2px !important;
  }

  .site-header .countdown-separator {
    width: 6px !important;
    height: 30px !important;
    font-size: 18px !important;
    line-height: 30px !important;
  }

  .site-header .countdown-label {
    margin-top: 3px !important;
    font-size: 7px !important;
    letter-spacing: .35px !important;
  }

  /* Navigation mobile plein écran — ouverture fluide de droite à gauche. */
  .main-nav {
    position: fixed !important;
    z-index: 100300 !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(145deg, #f8fafc 0%, #ffffff 42%, #eef5f1 100%) !important;
    box-shadow: -28px 0 80px rgba(4, 27, 66, .24) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(103%, 0, 0) !important;
    transition: transform .38s cubic-bezier(.22, .8, .24, 1), opacity .24s ease, visibility .38s !important;
  }

  .main-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .main-nav .mobile-nav-head {
    position: sticky !important;
    z-index: 4 !important;
    top: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 52px !important;
    align-items: center !important;
    min-height: 84px !important;
    padding: 15px 18px !important;
    border-bottom: 1px solid rgba(8, 35, 77, .09) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 26px rgba(4, 32, 73, .07) !important;
    backdrop-filter: blur(14px) !important;
  }

  .main-nav .mobile-nav-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
  }

  .main-nav .mobile-nav-brand img {
    width: min(65vw, 260px) !important;
    height: 52px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .main-nav .nav-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(7, 31, 70, .10) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #ffffff, #edf2f6) !important;
    box-shadow: 0 8px 18px rgba(4, 28, 65, .12) !important;
    color: #071f46 !important;
    font-size: 32px !important;
    line-height: 1 !important;
  }

  .main-nav > ul {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px 28px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    list-style: none !important;
    overscroll-behavior: contain !important;
  }

  .main-nav > ul > li,
  .main-nav > ul > li > a {
    width: 100% !important;
  }

  .main-nav > ul > li > a {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) 24px !important;
    align-items: center !important;
    min-height: 63px !important;
    padding: 7px 13px 7px 8px !important;
    overflow: hidden !important;
    border: 1px solid rgba(7, 31, 70, .085) !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 8px 22px rgba(4, 30, 68, .07) !important;
    color: #102b52 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  .main-nav > ul > li > a::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, #eef4fb, #dce9f7) !important;
    color: #0d4da8 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .main-nav > ul > li > a::after {
    content: "›" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #46617f !important;
    font-size: 25px !important;
    font-weight: 500 !important;
  }

  .main-nav > ul > li:nth-child(3n + 1) > a {
    border-left: 5px solid #f26722 !important;
  }

  .main-nav > ul > li:nth-child(3n + 2) > a {
    border-left: 5px solid #0d4da8 !important;
  }

  .main-nav > ul > li:nth-child(3n) > a {
    border-left: 5px solid #218a43 !important;
  }

  .main-nav > ul > li:nth-child(3n + 1) > a::before {
    background: linear-gradient(145deg, #fff0e7, #ffd9c4) !important;
    color: #dc5316 !important;
  }

  .main-nav > ul > li:nth-child(3n) > a::before {
    background: linear-gradient(145deg, #eaf7ed, #cfebd6) !important;
    color: #167237 !important;
  }

  .main-nav .mobile-nav-foot {
    display: block !important;
    flex: 0 0 auto !important;
    padding: 13px 18px calc(14px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(7, 31, 70, .08) !important;
    background: rgba(247, 250, 252, .98) !important;
    color: #48607f !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .slider-stage .slider-arrow.next {
    bottom: 13px !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
  }
}

@media (max-width: 560px) {
  html {
    scroll-padding-top: 116px !important;
  }

  .site-header .top-shell {
    grid-template-columns: minmax(0, 1fr) 53px !important;
    grid-template-rows: 66px 42px !important;
    min-height: 112px !important;
    height: 112px !important;
    padding: 2px 8px 2px 11px !important;
    border-radius: 24px !important;
  }

  .site-header .brand {
    width: min(75vw, 302px) !important;
    height: 63px !important;
  }

  .site-header .brand img,
  .site-header .brand-logo {
    height: 63px !important;
    max-height: 63px !important;
  }

  .nav-toggle {
    width: 51px !important;
    height: 51px !important;
    min-width: 51px !important;
    min-height: 51px !important;
    border-radius: 14px !important;
  }

  .site-header .header-countdown,
  .site-header .countdown {
    height: 40px !important;
  }

  .site-header .flip-digit {
    width: 20px !important;
    height: 29px !important;
    font-size: 20px !important;
  }

  .site-header .countdown-number {
    gap: 2px !important;
  }

  .site-header .countdown-separator {
    width: 5px !important;
    height: 29px !important;
    font-size: 17px !important;
    line-height: 29px !important;
  }

  .site-header .countdown-label {
    margin-top: 3px !important;
    font-size: 6.5px !important;
    letter-spacing: .25px !important;
  }

  .slider-stage .slider-arrow.next {
    bottom: 12px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
  }
}

/* Agrandissement optique du logo sur les petits écrans sans augmenter la hauteur du header. */
@media (max-width: 560px) {
  .site-header .brand img,
  .site-header .brand-logo {
    transform: scale(1.22) !important;
    transform-origin: left center !important;
  }
}
