/* ======================================================
   PAGE ACCUEIL — ZHNI EVENTS
   ====================================================== */

/* ======================================================
   1. BASE GLOBALE
   ====================================================== */

body.page-slug-accueil-v2,
.page-slug-accueil-v2 #page-container{
  background:#020b14;
}

.page-slug-accueil-v2 .et_pb_section{
  background:transparent;
}

.page-slug-accueil-v2 .et_pb_row,
.page-slug-accueil-v2 .et_pb_column{
  box-sizing:border-box;
}

.page-slug-accueil-v2 .et_pb_text,
.page-slug-accueil-v2 .et_pb_code,
.page-slug-accueil-v2 .et_pb_module{
  margin-bottom:0;
}

.page-slug-accueil-v2 h1,
.page-slug-accueil-v2 h2,
.page-slug-accueil-v2 h3,
.page-slug-accueil-v2 h4,
.page-slug-accueil-v2 h5,
.page-slug-accueil-v2 h6{
  margin:0;
  font-family:"Playfair Display", serif;
  color:#ffffff;
}

.page-slug-accueil-v2 p,
.page-slug-accueil-v2 li,
.page-slug-accueil-v2 a,
.page-slug-accueil-v2 span{
  font-family:"Work Sans", sans-serif;
}

.page-slug-accueil-v2 p{
  margin:0;
  color:rgba(255,255,255,.82);
}

.page-slug-accueil-v2 a{
  text-decoration:none;
  transition:
    color .28s ease,
    background-color .28s ease,
    border-color .28s ease,
    transform .28s ease,
    box-shadow .28s ease;
}

.page-slug-accueil-v2 img{
  display:block;
  max-width:100%;
  height:auto;
}

.zhni-container{
  width:min(1240px, 100%);
  margin:0 auto;
  padding-left:76px;
  padding-right:76px;
  box-sizing:border-box;
}

.zhni-section{
  position:relative;
  padding:120px 0;
}

.zhni-kicker{
  display:inline-block;
  margin-bottom:18px;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#66fcf1;
}

.zhni-section-title{
  margin:0 0 18px 0;
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.12;
  color:#ffffff;
}

.zhni-section-text{
  max-width:760px;
  font-size:19px;
  line-height:1.75;
  color:rgba(255,255,255,.80);
}

.zhni-btn-primary,
.zhni-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 30px;
  border-radius:999px;
  font-size:16px;
  line-height:1;
  text-align:center;
}

.zhni-btn-primary{
  background:#66fcf1;
  border:1px solid #66fcf1;
  color:#04131c;
  font-weight:700;
  box-shadow:0 12px 30px rgba(102,252,241,.16);
}

.zhni-btn-primary:hover{
  transform:translateY(-2px);
  background:#82fbf3;
  border-color:#82fbf3;
  color:#04131c;
}

.zhni-btn-secondary{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.22);
  color:#ffffff;
  font-weight:600;
  backdrop-filter:blur(3px);
}

.zhni-btn-secondary:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.07);
  border-color:rgba(102,252,241,.55);
  color:#ffffff;
}

/* ======================================================
   2. SECTION 1 — HERO
   ====================================================== */

.zhni-home-hero,
.zhni-home-hero .et_pb_row,
.zhni-home-hero .et_pb_column,
.zhni-home-hero .et_pb_module,
.zhni-home-hero .et_pb_code,
.zhni-home-hero .et_pb_code_inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.zhni-hero{
  position:relative;
  min-height:96vh;
  height:96vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#020b14;
}

.zhni-hero-media{
  position:absolute;
  inset:0;
  z-index:1;
}

.zhni-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.02);
  animation:zhniHeroZoom 18s ease-in-out infinite alternate;
}

@keyframes zhniHeroZoom{
  from{transform:scale(1.02);}
  to{transform:scale(1.08);}
}

.zhni-hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(2,11,20,.88) 0%, rgba(2,11,20,.64) 38%, rgba(2,11,20,.34) 100%),
    linear-gradient(180deg, rgba(2,11,20,.12) 0%, rgba(2,11,20,.30) 52%, rgba(2,11,20,.62) 100%);
}

.zhni-hero-content{
  position:relative;
  z-index:3;
  width:100%;
}

.zhni-hero-shell{
  width:min(1240px, 100%);
  min-height:96vh;
  margin:0 auto;
  padding-left:76px;
  padding-right:76px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  box-sizing:border-box;
}

.zhni-hero-copy{
  width:100%;
  max-width:690px;
  padding-top:110px;
  padding-bottom:148px;
  text-align:left;
}

.zhni-hero-kicker{
  display:inline-block;
  margin-bottom:18px;
  font-family:"Work Sans", sans-serif;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#66fcf1;
}

.zhni-hero h1{
  max-width:690px;
  margin:0 0 24px 0;
  font-family:"Playfair Display", serif;
  font-size:clamp(40px, 5vw, 74px);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-0.02em;
  color:#ffffff;
  text-wrap:balance;
}

.zhni-hero-subtitle{
  max-width:620px;
  margin:0 0 38px 0;
  font-family:"Work Sans", sans-serif;
  font-size:21px;
  line-height:1.6;
  font-weight:500;
  color:rgba(255,255,255,.84);
}

.zhni-hero-actions{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
}

/* ======================================================
   3. SECTION 2 — POSITIONNEMENT
   ====================================================== */

.zhni-home-positioning{
  position:relative;
  padding:120px 0;
  background:#020b14;
  border-top:1px solid rgba(255,255,255,.06);
}

.zhni-home-positioning .et_pb_row{
  width:min(1240px, 100%);
  max-width:1240px;
  margin:0 auto;
}

.zhni-positioning-head-row{
  margin-bottom:0;
}

.zhni-positioning-head-col-left,
.zhni-positioning-head-col-right{
  padding:0;
}

.zhni-positioning-intro .zhni-section-title{
  max-width:720px;
}

.zhni-positioning-textwrap{
  display:flex;
  flex-direction:column;
  gap:22px;
  padding-top:8px;
}

.zhni-home-positioning h2,
.zhni-home-positioning h3{
  color:#ffffff;
}

.zhni-home-positioning p{
  color:rgba(255,255,255,.82);
}

.zhni-positioning-text-secondary{
  color:rgba(255,255,255,.68);
}

.zhni-positioning-grid-row{
  margin-top:60px;
}

.zhni-positioning-card-col{
  padding:0 12px;
}

.zhni-positioning-card{
  position:relative;
  min-height:260px;
  padding:30px 28px 28px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  backdrop-filter:blur(6px);
  transition:
    transform .35s ease,
    border-color .35s ease,
    background .35s ease;
}

.zhni-positioning-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.04);
  border-color:rgba(102,252,241,.35);
}

.zhni-positioning-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(102,252,241,.55) 0%,
    rgba(102,252,241,0) 100%
  );
}

.zhni-positioning-card-number{
  display:inline-block;
  margin-bottom:22px;
  font-family:"Work Sans", sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#66fcf1;
}

.zhni-positioning-card h3{
  margin:0 0 14px 0;
  font-family:"Playfair Display", serif;
  font-size:28px;
  line-height:1.18;
  color:#ffffff;
}

.zhni-positioning-card p{
  font-size:17px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
}

/* ======================================================
   4. SECTION 3 — EXPERTISES
   BANDES IMMERSIVES PREMIUM
   ====================================================== */

.zhni-home-expertise{
  position:relative;
  padding:120px 0;
  background:linear-gradient(180deg,#020b14 0%,#06111a 100%);
  border-top:1px solid rgba(255,255,255,.05);
}

.zhni-home-expertise .et_pb_row{
  width:min(1240px,100%);
  max-width:1240px;
  margin:0 auto;
}

.zhni-expertise-intro-row{
  margin-bottom:56px;
}

.zhni-expertise-intro{
  max-width:860px;
}

.zhni-expertise-intro .zhni-section-title{
  margin-bottom:18px;
}

.zhni-expertise-bands{
  display:flex;
  flex-direction:column;
}

.zhni-expertise-band{
  position:relative;
  display:block;
  color:inherit;
  text-decoration:none;
  border-top:1px solid rgba(255,255,255,.10);
  transition:background-color .28s ease;
}

.zhni-expertise-band:last-child{
  border-bottom:1px solid rgba(255,255,255,.10);
}

.zhni-expertise-band::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:1px;
  background:#66fcf1;
  transition:width .32s ease;
}

.zhni-expertise-band:hover::before{
  width:100%;
}

.zhni-expertise-band__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  gap:28px;
  align-items:end;
  padding:34px 0;
  transition:transform .28s ease;
}

.zhni-expertise-band:hover .zhni-expertise-band__inner{
  transform:translateX(8px);
}

.zhni-expertise-band__content h3{
  margin:0 0 12px 0;
  font-family:"Playfair Display", serif;
  font-size:32px;
  line-height:1.14;
  color:#ffffff;
  letter-spacing:-0.01em;
  transition:color .28s ease;
}

.zhni-expertise-band:hover .zhni-expertise-band__content h3{
  color:#f8ffff;
}

.zhni-expertise-band__content p{
  max-width:720px;
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
}

.zhni-expertise-band__cta{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.zhni-expertise-band__cta span{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  font-weight:600;
  color:#ffffff;
  transition:gap .28s ease, color .28s ease;
}

.zhni-expertise-band__cta span::after{
  content:"→";
  font-size:16px;
  color:#66fcf1;
  transition:transform .28s ease;
}

.zhni-expertise-band:hover .zhni-expertise-band__cta span{
  gap:14px;
  color:#66fcf1;
}

.zhni-expertise-band:hover .zhni-expertise-band__cta span::after{
  transform:translateX(2px);
}

/* ======================================================
   5. SECTION 4 — MÉTHODE ZHNI
   ====================================================== */

.zhni-home-method{
  position:relative;
  padding:120px 0;
  background:#020b14;
  border-top:1px solid rgba(255,255,255,.05);
}

.zhni-home-method .et_pb_row{
  width:min(1240px,100%);
  max-width:1240px;
  margin:0 auto;
}

.zhni-method-intro-row{
  margin-bottom:56px;
}

.zhni-method-intro{
  max-width:860px;
}

.zhni-method-intro .zhni-section-title{
  margin-bottom:18px;
}

.zhni-method-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:28px;
}

.zhni-method-steps::before{
  content:"";
  position:absolute;
  top:18px;
  left:0;
  width:100%;
  height:1px;
  background:rgba(255,255,255,.10);
}

.zhni-method-step{
  position:relative;
}

.zhni-method-step__top{
  position:relative;
  margin-bottom:20px;
}

.zhni-method-step__top::before{
  content:"";
  position:relative;
  display:block;
  width:36px;
  height:36px;
  margin-bottom:18px;
  border-radius:50%;
  background:#020b14;
  border:1px solid rgba(102,252,241,.45);
  box-shadow:0 0 0 8px #020b14;
  z-index:2;
}

.zhni-method-step__label{
  display:inline-block;
  font-family:"Playfair Display", serif;
  font-size:28px;
  line-height:1.16;
  color:#ffffff;
  letter-spacing:-0.01em;
}

.zhni-method-step p{
  max-width:260px;
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
}

/* ======================================================
   6. SECTION 5 — DESTINATION MAROC
   ====================================================== */

.zhni-home-destination{
  position:relative;
  padding:120px 0;
  background:linear-gradient(180deg,#06111a 0%,#020b14 100%);
  border-top:1px solid rgba(255,255,255,.05);
}

.zhni-home-destination .et_pb_row{
  width:min(1240px,100%);
  max-width:1240px;
  margin:0 auto;
}

.zhni-destination-row{
  display:flex;
  align-items:center;
}

.zhni-destination-media{
  position:relative;
  width:100%;
}

.zhni-destination-image{
  width:100%;
  height:640px;
  object-fit:cover;
  object-position:center center;
  border-radius:22px;
}

.zhni-destination-content{
  max-width:560px;
  margin-left:auto;
  padding-left:34px;
}

.zhni-destination-content .zhni-section-title{
  margin-bottom:18px;
}

.zhni-destination-content .zhni-section-text{
  margin-bottom:28px;
}

.zhni-destination-points{
  margin:0 0 34px 0;
  padding:0;
  list-style:none;
}

.zhni-destination-points li{
  position:relative;
  padding-left:22px;
  margin-bottom:14px;
  font-size:17px;
  line-height:1.7;
  color:rgba(255,255,255,.80);
}

.zhni-destination-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#66fcf1;
}

.zhni-destination-points li:last-child{
  margin-bottom:0;
}

/* ======================================================
   7. SECTION 6 — SHOWCASE
   ====================================================== */

.zhni-home-showcase{
  position:relative;
  padding:120px 0;
  background:linear-gradient(180deg,#020b14 0%,#07131d 100%);
  border-top:1px solid rgba(255,255,255,.05);
}

.zhni-home-showcase .et_pb_row{
  width:min(1240px,100%);
  max-width:1240px;
  margin:0 auto;
}

.zhni-showcase-intro-row{
  margin-bottom:56px;
}

.zhni-showcase-intro{
  max-width:860px;
}

.zhni-showcase-intro .zhni-section-title{
  margin-bottom:18px;
}

.zhni-showcase-main{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.zhni-showcase-main-bottom{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.zhni-showcase-side{
  display:flex;
  flex-direction:column;
  gap:22px;
  height:100%;
}

.zhni-showcase-editorial{
  padding:34px 32px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
}

.zhni-showcase-editorial h3{
  margin:0 0 16px 0;
  font-family:"Playfair Display", serif;
  font-size:30px;
  line-height:1.16;
  color:#ffffff;
}

.zhni-showcase-editorial p{
  margin:0 0 18px 0;
  font-size:17px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
}

.zhni-showcase-editorial p:last-of-type{
  margin-bottom:28px;
}

.zhni-showcase-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#0a1620;
}

.zhni-showcase-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}

.zhni-showcase-card:hover img{
  transform:scale(1.03);
}

.zhni-showcase-card--large{
  height:520px;
}

.zhni-showcase-card--tall{
  flex:1;
  min-height:380px;
}

/* ======================================================
   8. SECTION BLOG
   ====================================================== */

.zhni-home-blog{
  position:relative;
  padding:120px 0;
  background:#020b14;
  border-top:1px solid rgba(255,255,255,.05);
}

.zhni-home-blog .et_pb_row{
  width:min(1380px,100%);
  max-width:1380px;
  margin:0 auto;
}

.zhni-blog-intro-row{
  margin-bottom:56px;
}

.zhni-blog-intro{
  max-width:860px;
}

.zhni-blog-intro .zhni-section-title{
  margin-bottom:18px;
}

.zhni-blog-module{
  width:100%;
}

.zhni-blog-module .et_pb_ajax_pagination_container{
  display:block;
}

.zhni-blog-module .et_pb_salvattore_content{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}

.zhni-blog-module .column{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  display:contents !important;
}

.zhni-blog-module article.et_pb_post{
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.zhni-blog-module .et_pb_image_container{
  display:block;
  width:100%;
  margin:0 0 18px 0;
  overflow:hidden;
  border-radius:18px;
}

.zhni-blog-module .entry-featured-image-url{
  display:block;
  width:100%;
}

.zhni-blog-module .entry-featured-image-url img{
  display:block;
  width:100%;
  height:270px;
  object-fit:cover;
  transition:transform .45s ease;
}

.zhni-blog-module article.et_pb_post:hover .entry-featured-image-url img{
  transform:scale(1.03);
}

.zhni-blog-module .post-meta{
  margin:0 0 12px 0 !important;
  padding:0 !important;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.62);
}

.zhni-blog-module .post-meta .published{
  color:rgba(255,255,255,.68);
}

.zhni-blog-module .post-meta a{
  color:rgba(255,255,255,.72);
  text-decoration:none;
}

.zhni-blog-module .post-meta a:hover{
  color:#66fcf1;
}

.zhni-blog-module h2.entry-title{
  margin:0 0 14px 0 !important;
  padding:0 !important;
  font-family:"Playfair Display", serif;
  font-size:24px;
  line-height:1.22;
  font-weight:700;
  letter-spacing:-0.01em;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.zhni-blog-module h2.entry-title a{
  color:#ffffff;
  text-decoration:none;
}

.zhni-blog-module h2.entry-title a:hover{
  color:#f2ffff;
}

.zhni-blog-module .post-content{
  padding-top:0 !important;
}

.zhni-blog-module .post-content-inner p,
.zhni-blog-module .post-content > p{
  margin:0 0 16px 0 !important;
  font-size:16px;
  line-height:1.72;
  color:rgba(255,255,255,.78);
}

/* vrai lien Divi si activé */
.zhni-blog-module a.more-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
  font-size:15px;
  font-weight:600;
  color:#ffffff;
  text-decoration:none;
  text-transform:capitalize;
}

.zhni-blog-module a.more-link::after{
  content:"→";
  font-size:16px;
  color:#66fcf1;
  transition:transform .28s ease;
}

.zhni-blog-module a.more-link:hover{
  color:#66fcf1;
}

.zhni-blog-module a.more-link:hover::after{
  transform:translateX(2px);
}

/* ======================================================
   TABLET
   ====================================================== */

@media (max-width:980px){

  .zhni-container{
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-section{
    padding:96px 0;
  }

  .zhni-section-title{
    font-size:clamp(30px, 6vw, 46px);
  }

  .zhni-section-text{
    font-size:18px;
    line-height:1.7;
  }

  .zhni-btn-primary,
  .zhni-btn-secondary{
    min-height:54px;
  }

  /* Hero */
  .zhni-hero{
    min-height:auto;
    height:auto;
  }

  .zhni-hero-shell{
    min-height:auto;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-hero-copy{
    max-width:100%;
    padding-top:140px;
    padding-bottom:118px;
  }

  .zhni-hero h1{
    max-width:100%;
    font-size:clamp(38px, 8vw, 58px);
    line-height:1.08;
  }

  .zhni-hero-subtitle{
    max-width:100%;
    font-size:19px;
    line-height:1.65;
  }

  /* Positionnement */
  .zhni-home-positioning{
    padding:96px 0;
  }

  .zhni-home-positioning .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-positioning-head-col-left,
  .zhni-positioning-head-col-right{
    width:100%;
    margin-bottom:0;
  }

  .zhni-positioning-intro .zhni-section-title{
    max-width:100%;
  }

  .zhni-positioning-textwrap{
    gap:20px;
    padding-top:24px;
  }

  .zhni-positioning-grid-row{
    margin-top:40px;
  }

  .zhni-positioning-card-col{
    padding:0 0 18px 0;
  }

  .zhni-positioning-card{
    min-height:auto;
  }

  .zhni-positioning-card h3{
    font-size:24px;
  }

  .zhni-positioning-card p{
    font-size:16px;
    line-height:1.72;
  }

  /* Expertises */
  .zhni-home-expertise{
    padding:96px 0;
  }

  .zhni-home-expertise .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-expertise-intro-row{
    margin-bottom:40px;
  }

  .zhni-expertise-band__inner{
    grid-template-columns:1fr;
    gap:16px;
    padding:28px 0;
  }

  .zhni-expertise-band:hover .zhni-expertise-band__inner{
    transform:translateX(4px);
  }

  .zhni-expertise-band__content h3{
    font-size:27px;
  }

  .zhni-expertise-band__content p{
    max-width:100%;
    font-size:16px;
    line-height:1.7;
  }

  .zhni-expertise-band__cta{
    justify-content:flex-start;
  }

  /* Méthode */
  .zhni-home-method{
    padding:96px 0;
  }

  .zhni-home-method .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-method-intro-row{
    margin-bottom:40px;
  }

  .zhni-method-steps{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:34px 24px;
  }

  .zhni-method-steps::before{
    display:none;
  }

  .zhni-method-step p{
    max-width:100%;
    font-size:16px;
    line-height:1.7;
  }

  .zhni-method-step__label{
    font-size:24px;
  }

  /* Destination */
  .zhni-home-destination{
    padding:96px 0;
  }

  .zhni-home-destination .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-destination-row{
    display:block;
  }

  .zhni-destination-media{
    margin-bottom:34px;
  }

  .zhni-destination-image{
    height:500px;
  }

  .zhni-destination-content{
    max-width:100%;
    margin-left:0;
    padding-left:0;
  }

  .zhni-destination-points li{
    font-size:16px;
    line-height:1.68;
  }

  /* Showcase */
  .zhni-home-showcase{
    padding:96px 0;
  }

  .zhni-home-showcase .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-showcase-intro-row{
    margin-bottom:40px;
  }

  .zhni-showcase-grid-row{
    display:block;
  }

  .zhni-showcase-col-left{
    margin-bottom:22px;
  }

  .zhni-showcase-card--large{
    height:440px;
  }

  .zhni-showcase-card--tall{
    min-height:340px;
  }

  .zhni-showcase-editorial{
    padding:28px 26px;
  }

  .zhni-showcase-editorial h3{
    font-size:26px;
  }

  .zhni-showcase-editorial p{
    font-size:16px;
    line-height:1.7;
  }

  /* Blog */
  .zhni-home-blog{
    padding:96px 0;
  }

  .zhni-home-blog .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:44px;
    padding-right:44px;
  }

  .zhni-blog-intro-row{
    margin-bottom:40px;
  }

  .zhni-blog-module .et_pb_salvattore_content{
    grid-template-columns:1fr !important;
    gap:28px;
  }

  .zhni-blog-module .entry-featured-image-url img{
    height:320px;
  }

  .zhni-blog-module h2.entry-title{
    font-size:24px;
    line-height:1.24;
  }
}

/* ======================================================
   MOBILE
   ====================================================== */

@media (max-width:767px){

  .zhni-container{
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-section{
    padding:78px 0;
  }

  .zhni-kicker{
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:1.6px;
  }

  .zhni-section-title{
    font-size:clamp(28px, 9vw, 38px);
    line-height:1.14;
  }

  .zhni-section-text{
    font-size:17px;
    line-height:1.65;
  }

  .zhni-btn-primary,
  .zhni-btn-secondary{
    width:100%;
    min-height:54px;
    padding:0 20px;
  }

  /* Hero */
  .zhni-hero-shell{
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-hero-copy{
    padding-top:126px;
    padding-bottom:102px;
  }

  .zhni-hero-kicker{
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:1.6px;
  }

  .zhni-hero h1{
    font-size:clamp(34px, 10vw, 44px);
    line-height:1.10;
    margin-bottom:18px;
    text-wrap:pretty;
  }

  .zhni-hero-subtitle{
    font-size:17px;
    line-height:1.60;
    margin-bottom:30px;
  }

  .zhni-hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  /* Positionnement */
  .zhni-home-positioning{
    padding:78px 0;
  }

  .zhni-home-positioning .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-positioning-head-col-left,
  .zhni-positioning-head-col-right,
  .zhni-positioning-card-col{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .zhni-positioning-textwrap{
    gap:18px;
    padding-top:18px;
  }

  .zhni-positioning-grid-row{
    margin-top:34px;
  }

  .zhni-positioning-card-col{
    padding-bottom:14px !important;
  }

  .zhni-positioning-card{
    padding:24px 22px;
    border-radius:18px;
  }

  .zhni-positioning-card-number{
    margin-bottom:18px;
    font-size:11px;
    letter-spacing:1.6px;
  }

  .zhni-positioning-card h3{
    font-size:22px;
  }

  .zhni-positioning-card p{
    font-size:16px;
    line-height:1.7;
  }

  /* Expertises */
  .zhni-home-expertise{
    padding:78px 0;
  }

  .zhni-home-expertise .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-expertise-intro-row{
    margin-bottom:34px;
  }

  .zhni-expertise-band__inner{
    gap:14px;
    padding:22px 0;
  }

  .zhni-expertise-band:hover .zhni-expertise-band__inner{
    transform:none;
  }

  .zhni-expertise-band__content h3{
    font-size:22px;
    line-height:1.18;
  }

  .zhni-expertise-band__content p{
    font-size:16px;
    line-height:1.68;
  }

  .zhni-expertise-band__cta span{
    font-size:14px;
    gap:8px;
  }

  .zhni-expertise-band:hover .zhni-expertise-band__cta span{
    gap:8px;
  }

  /* Méthode */
  .zhni-home-method{
    padding:78px 0;
  }

  .zhni-home-method .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-method-intro-row{
    margin-bottom:34px;
  }

  .zhni-method-steps{
    grid-template-columns:1fr;
    gap:28px;
  }

  .zhni-method-step__top{
    margin-bottom:14px;
  }

  .zhni-method-step__top::before{
    width:28px;
    height:28px;
    margin-bottom:14px;
    box-shadow:0 0 0 6px #020b14;
  }

  .zhni-method-step__label{
    font-size:22px;
    line-height:1.18;
  }

  .zhni-method-step p{
    font-size:16px;
    line-height:1.68;
  }

  /* Destination */
  .zhni-home-destination{
    padding:78px 0;
  }

  .zhni-home-destination .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-destination-media{
    margin-bottom:26px;
  }

  .zhni-destination-image{
    height:360px;
    border-radius:16px;
  }

  .zhni-destination-content .zhni-section-text{
    margin-bottom:22px;
  }

  .zhni-destination-points{
    margin-bottom:28px;
  }

  .zhni-destination-points li{
    padding-left:18px;
    margin-bottom:12px;
    font-size:16px;
    line-height:1.65;
  }

  .zhni-destination-points li::before{
    top:10px;
    width:7px;
    height:7px;
  }

  /* Showcase */
  .zhni-home-showcase{
    padding:78px 0;
  }

  .zhni-home-showcase .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-showcase-intro-row{
    margin-bottom:34px;
  }

  .zhni-showcase-main{
    gap:16px;
  }

  .zhni-showcase-main-bottom{
    grid-template-columns:1fr;
    gap:16px;
  }

  .zhni-showcase-side{
    gap:16px;
  }

  .zhni-showcase-card,
  .zhni-showcase-editorial{
    border-radius:16px;
  }

  .zhni-showcase-card--large{
    height:320px;
  }

  .zhni-showcase-card--tall{
    min-height:280px;
  }

  .zhni-showcase-editorial{
    padding:24px 22px;
  }

  .zhni-showcase-editorial h3{
    font-size:22px;
    line-height:1.18;
  }

  .zhni-showcase-editorial p{
    font-size:16px;
    line-height:1.68;
  }

  .zhni-showcase-editorial p:last-of-type{
    margin-bottom:22px;
  }

  /* Blog */
  .zhni-home-blog{
    padding:78px 0;
  }

  .zhni-home-blog .et_pb_row{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
  }

  .zhni-blog-intro-row{
    margin-bottom:34px;
  }

  .zhni-blog-module .et_pb_image_container{
    margin-bottom:14px;
    border-radius:14px;
  }

  .zhni-blog-module .entry-featured-image-url img{
    height:240px;
  }

  .zhni-blog-module .post-meta{
    margin-bottom:10px !important;
    font-size:12px;
  }

  .zhni-blog-module h2.entry-title{
    font-size:22px;
    line-height:1.2;
    margin-bottom:10px !important;
  }

  .zhni-blog-module .post-content-inner p,
  .zhni-blog-module .post-content > p{
    margin-bottom:14px !important;
    font-size:16px;
    line-height:1.68;
  }

  .zhni-blog-module a.more-link{
    font-size:14px;
  }
}

/* ======================================================
   CTA — HOMEPAGE
   ====================================================== */

.zhni-home-final-cta{
  position:relative;
  padding:150px 0 160px 0;
  background:#020b14;
  border-top:1px solid rgba(255,255,255,.05);
}

.zhni-home-final-cta .et_pb_row{
  width:min(980px,100%);
  max-width:980px;
  margin:0 auto;
}

.zhni-final-cta{
  text-align:center;
  max-width:820px;
  margin:0 auto;
}

/* Kicker */

.zhni-final-cta .zhni-kicker{
  display:block;
  margin-bottom:18px;
  font-size:12px;
  letter-spacing:2px;
  color:#66fcf1;
}

/* Titre */

.zhni-final-cta .zhni-section-title{
  font-size:clamp(40px,4vw,56px);
  line-height:1.15;
  margin-bottom:26px;
  text-wrap:balance;
}

/* Texte */

.zhni-final-cta .zhni-section-text{
  max-width:720px;
  margin:0 auto;
  font-size:19px;
  line-height:1.8;
  color:rgba(255,255,255,.75);
}

/* Boutons */

.zhni-final-cta__actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin-top:46px;
  flex-wrap:wrap;
}

/* Bouton principal */

.zhni-final-cta__actions .zhni-btn-primary{

  background:#66fcf1;
  border:1px solid #66fcf1;
  color:#04131c;
  font-weight:700;

  box-shadow:
  0 0 0 rgba(102,252,241,0),
  0 10px 30px rgba(102,252,241,.25);

  transition:
  transform .25s ease,
  box-shadow .25s ease,
  background .25s ease;
}

.zhni-final-cta__actions .zhni-btn-primary:hover{

  transform:translateY(-3px);

  box-shadow:
  0 0 50px rgba(102,252,241,.35),
  0 14px 40px rgba(102,252,241,.35);

  background:#7ffdf4;
}

/* Bouton secondaire */

.zhni-final-cta__actions .zhni-btn-secondary{

  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.25);
  color:#ffffff;

  transition:
  transform .25s ease,
  border-color .25s ease,
  background .25s ease;
}

.zhni-final-cta__actions .zhni-btn-secondary:hover{

  transform:translateY(-3px);

  border-color:#66fcf1;

  background:rgba(255,255,255,.08);
}

/* ======================================================
   MOBILE
   ====================================================== */

@media (max-width:767px){

  .zhni-home-final-cta{
    padding:90px 0 100px 0;
  }

  .zhni-final-cta__actions{
    flex-direction:column;
    gap:12px;
    margin-top:34px;
  }

}