/*fonts*/
@font-face{
  font-family: "Parkinsans";
  src: url('../fonts/Parkinsans/Parkinsans-VariableFont_wght.ttf') format('truetype');
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}

/*colors*/
.hover-white:hover,
.white{color: white}
.bg-hover-white:hover,
.bg-white{background: white}
.hover-black:hover,
.black{color: black}
.bg-hover-black:hover,
.bg-black{background: black}

.blue{color: #004F9F; transition: color 0.35s ease}
.bg-blue{background-color: #004F9F}
.dark-blue{color: #003D8F}
.bg-dark-blue{background-color: #004F9F}
.green{color: #27C983}
.bg-green{background-color: #27C983}
.yellow{color: #FFCC00}
.bg-yellow{background-color: #FFCC00}
.gray{color: #6B7280}
.bg-gray{background-color: #F5F5F5}
.red{color: #E50046}
.bg-red{background-color: #E50046}

/*typography*/
.hero-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 70px;
  font-weight: 700;
  line-height: 80px;
}
.big-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 58px;
}
.title-underline{
  text-decoration: underline;
  text-decoration-color: #004F9F;
  text-decoration-thickness: 3px;
  text-underline-offset: 10px;
}
.medium-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 42px;
  font-weight: 600;
  line-height: 44px;
}
.medium-title-2{
  font-family: "Parkinsans", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 40px;
}
.mini-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}
.title-32{
  font-family: "Parkinsans", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 40px;
}
.body-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
}
.bold-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
}

.bold-text-18{
  font-family: "Parkinsans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
}
.lead-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
}
.large-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
}
.small-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
}
.nav-link{
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
  font-weight: 600;
  /* text-decoration: underline; */
  /* text-underline-offset: 6px; */
  /* text-decoration-thickness: 2px; */
}
.nav-link:hover{opacity: 1}
.tagline{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}
.date-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  color: #004F9F;
  transition: color 0.35s ease;
}
.footer-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #004F9F;
}
.footer-text{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #004F9F;
  line-height: 24px;
}
.footer-link{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #004F9F;
  line-height: 24px;
}
.footer-link:hover{text-decoration: underline}

/*footer layout*/
.site-footer{overflow: visible}
@media screen and (min-width: 1024px){
  .footer-center{
    margin-top: -80px;
    border: 10px solid #E50046;
  }
}
/*components - CTAs*/
.cta-green,
.cta-blue{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}
/*cta slide-swap: icon and text cross each other on hover*/
.cta-green .cta-icon,
.cta-green .cta-text,
.cta-blue .cta-icon,
.cta-blue .cta-text{
  transition: transform 0.5s cubic-bezier(0.34, 1.35, 0.64, 1);
  display: inline-flex;
  align-items: center;
  font-size: 20px;
  font-weight: 600;

}
.cta-green:hover .cta-icon,
.cta-blue:hover .cta-icon{
  transform: translateX(var(--text-w));
}
.cta-green:hover .cta-text,
.cta-blue:hover .cta-text{
  transform: translateX(calc(-1 * var(--icon-w)));
}

.slick-disabled{
  display: none!important;
}
/*cta-green*/
.cta-green{
  background-color: #27C983;
  color: #004F9F;
  transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.cta-green:hover{background-color: white}
/*cta-blue*/
.cta-blue{
  background-color: #004F9F;
  color: white;
  transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.cta-blue:hover{
  background-color: #27C983;
  color: white;
}
@media screen and (min-width: 991px) {
  .big-size a:hover{--text-w: 419px!important}
}

.cta-link{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #004F9F;
  transition: color 0.35s ease;
}
.cta-link:hover{color: #27C983}
.cta-link:hover .cta-svg-bg-layer{transform: rotate(90deg)}
.cta-link:hover .cta-svg-bg{fill: #27C983}
.cta-consult{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #004F9F;
  transition: color 0.35s ease;
}
.cta-consult:hover{color: #27C983}
.cta-consult:hover .cta-svg-bg-layer{transform: rotate(90deg)}
.cta-consult:hover .cta-svg-bg{fill: #27C983}

/*SVG icon transitions for all CTAs*/
.cta-svg-bg-layer,
.cta-svg-fg-layer{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.cta-svg-bg-layer{transition: transform 0.35s ease}
.cta-svg-bg{transition: fill 0.35s ease}
.cta-svg-stroke{transition: stroke 0.35s ease}
/*cta-green hover: arrow bg stays blue, stroke goes white*/
.cta-green:hover .cta-svg-stroke{stroke: white}
/*card hover — image zoom effect*/
.structure-card .card-img,
.nl-card .card-img,
.event-card .card-img{
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
.structure-card:hover .card-img,
.nl-card:hover .card-img,
.event-card:hover .card-img{
  transform: scale(1.08);
}
/*card hover — all cards: text/titles green, SVG bg green, arrow rotation*/
.structure-card,
.nl-card,
.event-card{
  cursor: pointer;
}
.structure-card:hover h3,
.structure-card:hover p,
.structure-card:hover .cta-link{
  color: #27C983;
}
.structure-card:hover .cta-svg-bg{fill: #27C983}
.structure-card:hover .cta-svg-bg-layer{transform: rotate(45deg)}
.nl-card:hover h3,
.nl-card:hover p,
.nl-card:hover .lead-text,
.nl-card:hover .date-text,
.nl-card:hover .cta-consult{
  color: #27C983;
}
.nl-card:hover .cta-svg-bg{fill: #27C983}
.nl-card:hover .cta-svg-bg-layer{transform: rotate(45deg)}
.event-card{
  border: 3px solid transparent;
  overflow: hidden;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.event-card:hover{
  border-color: #27C983;
  box-shadow: 0 8px 24px rgba(39,201,131,0.15);
}
.event-card:hover h3,
.event-card:hover p,
.event-card:hover .cta-link{
  color: #27C983;
}
.event-card:hover .cta-svg-bg{fill: #27C983}
.event-card:hover .cta-svg-bg-layer{transform: rotate(45deg)}
/*header*/
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: white;
}
/*nav icons — hidden by default, slide-in on hover*/
.nav-item{
  padding-left: 18px;
}
.nav-icon{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scale(0.5);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 2;
}
.nav-item:hover > .nav-icon{
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.nav-item > .nav-link{
  display: inline-block;
  transition: transform 0.3s ease;
}
.nav-item:hover > .nav-link{
  transform: translateX(5px);
}
/*nav dropdown*/
.nav-item{position: relative}
.nav-dropdown{
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  background: white;
  border-radius: 12px;
  /* box-shadow: 0 8px 30px rgba(0,79,159,0.12); */
  padding: 16px 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  transform: translateX(-50%) translateY(8px);
  margin-top: 0px;
}
.nav-item--has-dropdown:hover .nav-dropdown{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown-link{
  display: block;
  padding: 10px 24px;
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #004F9F;
  transition: opacity 0.2s;
}
.nav-dropdown-link:hover{opacity: 0.7}
/*hero slider*/
.hero-slider,
.hero-slider .slick-list,
.hero-slider .slick-track,
.hero-slider .slick-slide,
.hero-slider .slick-slide > div,
.hero-slide{
  height: 85vh;
  min-height: 550px;
}
.hero-slide{
  position: relative;
  overflow: hidden;
}
.hero-slide .slide-overlay{background: rgba(0, 79, 159, 0.40)}
/*about slider*/
.about-slider .slick-slide img{
  height: 420px;
  object-fit: cover;
}

.body-text a{
  text-decoration: underline;
}

.body-text a.no-underline{
  text-decoration: none;
}

/*programming transport*/
.programming-transport .transport-origin + .transport-origin{
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(0,79,159,0.15);
}
.programming-transport .italic{font-style: italic}

/*bloc text — WYSIWYG content*/
.bloc-text-content h2{
  font-family: "Parkinsans", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 48px;
  margin-bottom: 20px;
}
.bloc-text-content h3{
  font-family: "Parkinsans", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 40px;
  margin-bottom: 16px;
}
.bloc-text-content h4{
  font-family: "Parkinsans", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  margin-bottom: 12px;
}
.bloc-text-content p{
  margin-bottom: 16px;
}
.bloc-text-content ul{
  list-style: disc;
  padding-left: 24px;
  margin-bottom: 16px;
}
.bloc-text-content ol{
  list-style: decimal;
  padding-left: 24px;
  margin-bottom: 16px;
}
.bloc-text-content li{
  margin-bottom: 6px;
}
.bloc-text-content > *:last-child{
  margin-bottom: 0;
}

/*slider arrow*/
.slider-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  border: none;
  background: none;
  cursor: pointer;
}
.slider-arrow.arrow-prev{left: -20px;}
.slider-arrow.arrow-next{right: -20px;}
.slider-arrow.arrow-prev .slider-arrow-icon,
.pagination-arrow--prev .slider-arrow-icon{
  transform: rotate(180deg);
}
.slider-arrow .arrow-svg-bg-layer,
.slider-arrow .arrow-svg-fg-layer{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.slider-arrow .arrow-svg-bg-layer{
  transition: transform 0.35s ease;
}
.slider-arrow .arrow-svg-bg{
  transition: fill 0.35s ease;
}
.slider-arrow:hover .arrow-svg-bg{
  fill: #27C983;
}
.slider-arrow:hover .arrow-svg-bg-layer{
  transform: rotate(45deg);
}
.slider-arrow.slick-hidden{display: none}

/*structures cards*/
.structure-card{
  border: 3px solid #004F9F;
  overflow: hidden;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.structure-card:hover{
  border-color: #27C983;
  box-shadow: 0 8px 24px rgba(39,201,131,0.15);
}
.structure-card .card-img{
  height: 200px;
  object-fit: cover;
}

/*reunion cards*/
.reunion-card{
  border: 3px solid #004F9F;
}

/*actus slider*/
.actus-slider-wrapper{
  position: relative;
  overflow: hidden;
}
.actus-slider{
  position: relative;
}
.actus-slider .slick-list{
  overflow: visible;
}
.actus-slider .slick-slide{
  width: 600px;
  margin-right: 60px;
}
.actus-slider .event-card{
  width: 600px;
}
.actus-slider .event-card .card-img{
  height: 320px;
  object-fit: cover;
}
@media screen and (max-width: 767px){
  .actus-slider .slick-slide{width: 85vw; margin-right: 20px}
  .actus-slider .event-card{width: 85vw}
}

/*newsletters slider*/
.newsletters-slider-wrapper{
  position: relative;
  overflow: hidden;
}
.newsletters-slider{
  position: relative;
}
.newsletters-slider .slick-list{
  overflow: visible;
}
.newsletters-slider .slick-slide{
  width: 400px;
  margin-right: 30px;
}
.newsletters-slider .nl-card{
  width: 400px;
}
@media screen and (max-width: 767px){
  .newsletters-slider .slick-slide{width: 85vw; margin-right: 15px}
  .newsletters-slider .nl-card{width: 85vw}
}

/*newsletter form*/
.section-form{background-color: #004F9F}
.section-form input{
  background: transparent;
  border: none;
  border-bottom: 3px solid white;
  color: white;
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
  line-height: 28px;
  padding: 12px;
  outline: none;
}
.section-form input::placeholder{
  color: white;
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
}
.section-form input:focus{border-bottom-color: white; opacity: 0.8}

/*newsletters cards*/
.newsletters-slider .nl-card{
  border: 3px solid #004F9F;
  overflow: hidden;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.newsletters-slider .nl-card:hover{
  border-color: #27C983;
  box-shadow: 0 8px 24px rgba(39,201,131,0.15);
}
.newsletters-slider .nl-card .card-img{
  height: 200px;
  object-fit: cover;
}

/*=== NEWSLETTER PAGE ===*/

/*newsletter header banner*/
.newsletter-header{
  min-height: 380px;
}

/*newsletter grid - cards in grid context*/
.newsletter-grid .nl-card{
  width: 100%;
  max-width: 400px;
  border: 3px solid #004F9F;
  overflow: hidden;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.newsletter-grid .nl-card:hover{
  border-color: #27C983;
  box-shadow: 0 8px 24px rgba(39,201,131,0.15);
}
.newsletter-grid .nl-card .card-img{
  height: 200px;
  object-fit: cover;
}
@media screen and (min-width: 768px){
  .newsletter-grid{
    justify-content: flex-start;
  }
  .newsletter-grid .nl-card{
    width: calc((100% - 60px) / 3);
    max-width: none;
  }
}
@media screen and (max-width: 767px){
  .newsletter-grid .nl-card{
    width: 100%;
    max-width: none;
  }
}

/*pagination*/
.pagination-arrow{
  width: 40px;
  height: 40px;
  border: none;
  cursor: pointer;
}
.pagination-arrow .arrow-svg-bg-layer,
.pagination-arrow .arrow-svg-fg-layer{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.pagination-arrow .arrow-svg-bg-layer{
  transition: transform 0.35s ease;
}
.pagination-arrow .arrow-svg-bg{
  transition: fill 0.35s ease;
}
.pagination-arrow:hover .arrow-svg-bg{
  fill: #27C983;
}
.pagination-arrow:hover .arrow-svg-bg-layer{
  transform: rotate(45deg);
}
.pagination-number{
  font-family: "Parkinsans", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  color: #004F9F;
  text-decoration: none;
}
.pagination-number:hover{opacity: 0.7}
.pagination-number--active{
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}

/*=== ARTICLES PAGE ===*/

/*articles page title (same size as spectacle)*/
.articles-page-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 70px;
}

/*articles hero slider*/
.articles-hero-slider .slick-slide img{
  width: 100%;
  height: 450px;
  object-fit: cover;
}

/*articles grid — 2 columns on desktop*/
.articles-grid-item{
  width: 100%;
}
@media screen and (min-width: 768px){
  .articles-grid-item{
    width: calc((100% - 60px) / 2);
  }
}

/*articles card image — taller aspect ratio for this page*/
.articles-grid-item .event-card .card-img{
  height: 400px;
  object-fit: cover;
}

/*articles pagination — green active, blue inactive*/
.articles-pagination-number{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  color: #004F9F;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.articles-pagination-number:hover{opacity: 0.7}
.articles-pagination-number--active{
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  color: #27C983;
  cursor: default;
}
.articles-pagination-number--active:hover{opacity: 1}

@media screen and (max-width: 991px){
  .articles-page-title{font-size: 42px; line-height: 50px}
  .articles-hero-slider .slick-slide img{height: 300px}
  .articles-grid-item .event-card .card-img{height: 280px}
}
@media screen and (max-width: 767px){
  .articles-page-title{font-size: 32px; line-height: 40px}
  .articles-hero-slider .slick-slide img{height: 250px}
  .articles-grid-item .event-card .card-img{height: 220px}
}

/*=== SPECTACLE PAGE ===*/

/*spectacle hero*/
.spectacle-hero-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 70px;
}
.spectacle-company{
  font-family: "Parkinsans", sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 44px;
}
.spectacle-hero-slider .slick-slide img{
  width: 100%;
  height: 450px;
  object-fit: cover;
}

/*programming cards*/
.programming-card{
  border-radius: 0;
}

/*video block*/
.bloc-video-play{
  box-shadow: 0 4px 20px rgba(0,79,159,0.3);
}
.bloc-video-link:hover .bloc-video-play{
  transform: scale(1.1);
}

/*reference credits*/
.reference-credits strong{
  font-weight: 700;
}

@media screen and (max-width: 991px){
  .spectacle-hero-title{font-size: 42px; line-height: 50px}
  .spectacle-company{font-size: 28px; line-height: 34px}
  .spectacle-hero-slider .slick-slide img{height: 300px}
}
@media screen and (max-width: 767px){
  .spectacle-hero-title{font-size: 32px; line-height: 40px}
  .spectacle-company{font-size: 22px; line-height: 28px}
  .spectacle-hero-slider .slick-slide img{height: 250px}
}

/*=== STRUCTURE PAGE ===*/

/*structure header*/
.structure-title{
  font-family: "Parkinsans", sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 70px;
}
.structure-subtitle{
  font-family: "Parkinsans", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 28px;
}
.structure-hero-slider .slick-slide img{
  width: 100%;
  height: 450px;
  object-fit: cover;
}
.structure-hero-slider .arrow-prev{left: 10px}
.structure-hero-slider .arrow-next{right: 10px}

/*anchor nav*/
.anchor-nav ul{-webkit-overflow-scrolling: touch; scrollbar-width: none}
.anchor-nav ul::-webkit-scrollbar{display: none}
.anchor-nav li{white-space: nowrap; flex-shrink: 0}
.anchor-link{
  font-family: "Parkinsans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px; 

}

/*gallery slider (full-width images)*/
.gallery-slider-wrapper{
  position: relative;
  overflow: hidden;
}
.gallery-slider-wrapper .slider-arrow.arrow-prev{left: 50px;}
.gallery-slider-wrapper .slider-arrow.arrow-next{right: 50px;}
.gallery-slider{
  position: relative;
}
.gallery-slider .slick-list{
  overflow: visible;
}
.gallery-slider .slick-slide{
  width: 80vw;
  max-width: 1260px;
  margin-right: 60px;
}
.gallery-slider .slick-slide img{
  width: 100%;
  height: 840px;
  object-fit: cover;
}

/*bloc text + image mini slider*/
.bloc-image-mini-slider .slick-slide img{
  width: 100%;
  height: 400px;
  object-fit: cover;
}
body:not(.home) .site-header{
  border-bottom: 1px solid var(--Bleu, #004F9F);
}
body.home .site-header{
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}
body.home .site-header.header-scrolled{
  border-bottom-color: #004F9F;
}

/*back to top*/
.back-to-top{
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 900;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
  filter: drop-shadow(0 2px 8px rgba(0,79,159,0.25));
}
.back-to-top.is-visible{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top svg{
  display: block;
  transition: transform 0.3s ease;
}
.back-to-top:hover svg{
  transform: scale(1.08);
}
.back-to-top .btt-bg{
  transition: fill 0.3s ease;
}
.back-to-top:hover .btt-bg{
  fill: #27C983;
}
@media screen and (max-width: 767px){
  .back-to-top{bottom: 20px; right: 20px}
}

.articles-past{position: relative}
.articles-past::before{
    content: "";
    position: absolute;
    bottom: -80px;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: rgba(0, 79, 159, 0.05);
}
@media screen and (max-width: 1450px){

.nav-link{
  font-size: 16px
}
}


@media screen and (max-width: 991px){
  .structure-title{font-size: 42px; line-height: 50px}
  .structure-subtitle{font-size: 20px}
  .structure-hero-slider .slick-slide img{height: 350px}
  .gallery-slider .slick-slide img{height: 500px}
  .bloc-image-mini-slider .slick-slide img{height: 300px}
}
@media screen and (max-width: 767px){
  .structure-title{font-size: 32px; line-height: 40px}
  .structure-subtitle{font-size: 18px}
  .structure-hero-slider .slick-slide img{height: 260px}
  /*gallery slider mobile — centerMode with peek on both sides*/
  .gallery-slider .slick-slide{margin-right: 12px; margin-left: 12px}
  .gallery-slider .slick-slide img{height: 280px; border-radius: 4px}
  .gallery-slider .slick-slide{opacity: 0.5; transition: opacity 0.35s ease, transform 0.35s ease; transform: scale(0.95)}
  .gallery-slider .slick-slide.slick-current{opacity: 1; transform: scale(1)}
  .gallery-slider .slick-list{overflow: visible}
  .bloc-image-mini-slider .slick-slide img{height: 250px}
}

/*=== MOBILE NAVIGATION ===*/

/*overlay*/
.mobile-nav{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: #004F9F;
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-nav.is-open{
  opacity: 1;
  visibility: visible;
}

/*close button — top right inside the overlay*/
.mobile-nav-close{
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.25s ease;
}
.mobile-nav-close:hover{background: rgba(255,255,255,0.1)}

/*decorative background shapes*/
.mobile-nav-deco{
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.mobile-nav-shape{position: absolute}
.mobile-nav-shape--1{bottom: -20px; right: -30px}
.mobile-nav-shape--2{top: 60px; right: 20px}
.mobile-nav-shape--3{bottom: 100px; left: -15px}

/*inner layout*/
.mobile-nav-inner{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100dvh;
  padding: 32px 28px 40px;
  position: relative;
  z-index: 2;
}

/*logo header*/
.mobile-nav-header{
  margin-bottom: 48px;
}

/*nav links*/
.mobile-nav-link{
  font-family: "Parkinsans", sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: white;
  text-decoration: none;
  padding: 14px 0;
  display: flex;
  align-items: center;
  transition: color 0.25s ease, opacity 0.25s ease;
}
.mobile-nav-link:hover{color: #27C983}

/*icon containers for nav items*/
.mobile-nav-icon{
  width: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/*stagger slide-in animation*/
.mobile-nav-item{
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition-delay: calc(0.08s * var(--i));
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.mobile-nav.is-open .mobile-nav-item{
  opacity: 1;
  transform: translateX(0);
}

/*sub-links*/
.mobile-nav-sub{
  padding-top: 0;
  padding-bottom: 8px;
}
.mobile-nav-sublink{
  font-family: "Parkinsans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  padding: 8px 0;
  display: block;
  transition: color 0.25s ease;
}
.mobile-nav-sublink:hover{color: #27C983}

/*tagline at bottom*/
.mobile-nav-tagline{
  font-family: "Parkinsans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.45);
  line-height: 18px;
  margin-top: 48px;
}

/*burger — keep same animation*/
.burger-btn.is-open .burger-line:nth-child(1){
  transform: translateY(4px) rotate(45deg);
}
.burger-btn.is-open .burger-line:nth-child(2){
  opacity: 0;
}
.burger-btn.is-open .burger-line:nth-child(3){
  transform: translateY(-4px) rotate(-45deg);
}

/*body lock when menu open*/
body.mobile-nav-open{overflow: hidden}

/*=== RESPONSIVE ===*/
@media screen and (max-width: 991px){
  .hero-title{font-size: 52px; line-height: 60px}
  .big-title{font-size: 38px; line-height: 44px}
  .medium-title{font-size: 32px; line-height: 36px}
  .medium-title-2{font-size: 26px; line-height: 32px}
  .mini-title{font-size: 18px; line-height: 24px}
  .about-slider .slick-slide img{height: 300px}
  /*programming cards mobile*/
  .programming-card .flex.flex-col.lg\:flex-row{flex-direction: column}
  /*reunion cards mobile*/
  .reunion-card{padding: 24px}
  .title-32{font-size: 26px; line-height: 34px}
}
@media screen and (max-width: 767px){
  /*typography mobile*/
  .hero-title{font-size: 32px; line-height: 40px}
  .big-title{font-size: 26px; line-height: 32px}
  .medium-title{font-size: 24px; line-height: 30px}
  .medium-title-2{font-size: 20px; line-height: 26px}
  .mini-title{font-size: 16px; line-height: 22px}
  .title-32{font-size: 22px; line-height: 28px}
  .lead-text{font-size: 17px; line-height: 24px}
  .bold-text-18{font-size: 16px; line-height: 22px}
  /*hero mobile*/
  .hero-slider,
  .hero-slider .slick-list,
  .hero-slider .slick-track,
  .hero-slider .slick-slide,
  .hero-slider .slick-slide > div,
  .hero-slide{height: 60vh; min-height: 400px}
  /*about slider mobile*/
  .about-slider .slick-slide img{height: 250px}
  /*sliders mobile*/
  .actus-slider .event-card .card-img{height: 220px}
  .newsletters-slider .nl-card .card-img{height: 200px}
  /*slider arrows mobile — slightly smaller + tighter*/
  .slider-arrow.arrow-prev{left: -6px}
  .slider-arrow.arrow-next{right: -6px}
  .gallery-slider-wrapper .slider-arrow.arrow-prev{left: 12px}
  .gallery-slider-wrapper .slider-arrow.arrow-next{right: 12px}
  /*structure card mobile*/
  .structure-card .card-img{height: 180px}
  /*event card mobile*/
  .event-card .card-img{height: 200px}
  /*programming card mobile*/
  .programming-card .flex.flex-wrap{gap: 6px}
  /*form section mobile*/
  .section-form input{font-size: 16px}
  .section-form input::placeholder{font-size: 16px}
  /*footer mobile*/
  .footer-center{padding: 32px 24px}
  .site-footer .footer-row{flex-direction: column}
  .site-footer .bg-blue{padding: 32px 24px}
  .site-footer .bg-green{padding: 32px 24px}
  /*anchor nav mobile*/
  .anchor-link{font-size: 15px; line-height: 22px}
  /*bloc text content mobile*/
  .bloc-text-content h2{font-size: 28px; line-height: 36px}
  .bloc-text-content h3{font-size: 24px; line-height: 32px}
  .bloc-text-content h4{font-size: 20px; line-height: 26px}
  /*references mobile*/
  .bloc-references .flex.items-center.gap-10{gap: 24px}
  /*video mobile*/
  .bloc-video-play svg{width: 60px; height: 60px}
  /*spacings mobile*/
  .bloc-text-image{padding-top: 32px; padding-bottom: 48px}
  .bloc-text-double-image{padding-top: 32px; padding-bottom: 48px}
  .bloc-programming{padding-top: 32px; padding-bottom: 32px}
  .bloc-references{padding-top: 32px; padding-bottom: 48px}
  /*transport row mobile*/
  .transport-row{gap: 8px}
  .transport-row .w-\[60px\]{width: 44px}
  .transport-row .w-\[160px\]{width: auto}
}
