/* Module 50 v1.0.438 — variante Accueil avec trois vidéos 9/16. */
.kp438-home{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
  min-height:calc(100vh - 104px);
  padding:52px 0 68px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
}
.kp438-home-videos{
  width:min(930px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,2.4vw,30px);
  align-items:end;
}
.kp438-home-video-card{
  position:relative;
  width:100%;
  aspect-ratio:9/16;
  overflow:hidden;
  border-radius:clamp(18px,2vw,30px);
  background:#0f1512;
  box-shadow:0 22px 54px rgba(0,0,0,.20);
}
.kp438-home-video-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.20);
  border-radius:inherit;
}
.kp438-home-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#0f1512;
}
.kp438-home-video-placeholder{
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(155deg,#163f2e,#071b13);
}
.kp438-home-video-placeholder span{
  font-family:Montserrat,Inter,sans-serif;
  font-size:clamp(70px,12vw,150px);
  font-weight:900;
  color:rgba(255,255,255,.14);
}
.kp438-home-copy{
  width:min(980px,100%);
  margin:0 auto;
  text-align:center;
}
.kp438-home-title{
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:baseline;
  column-gap:clamp(18px,5vw,70px);
  font-family:Montserrat,Inter,sans-serif;
  font-size:clamp(36px,5.25vw,78px);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.055em;
  color:#111b16;
}
.kp438-home-title span{
  display:block;
  min-width:0;
  white-space:nowrap;
}
.kp438-home-slogan{
  margin:18px 0 0;
  font-family:"DM Sans",Inter,sans-serif;
  font-size:clamp(18px,2vw,27px);
  line-height:1.35;
  font-weight:600;
  color:#66706a;
}
@media(max-width:720px){
  .kp438-home{width:min(100% - 24px,680px);padding:34px 0 48px;gap:20px;min-height:auto}
  .kp438-home-videos{gap:8px}
  .kp438-home-video-card{border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.16)}
  .kp438-home-title{column-gap:8px;font-size:clamp(23px,8vw,38px);letter-spacing:-.06em}
  .kp438-home-slogan{margin-top:12px;font-size:clamp(15px,4.6vw,20px)}
}
@media(max-width:420px){
  .kp438-home{width:calc(100% - 18px)}
  .kp438-home-videos{gap:6px}
  .kp438-home-video-card{border-radius:11px}
  .kp438-home-title{font-size:clamp(20px,7.4vw,31px);column-gap:5px}
}


/* Module 50 v1.0.439 — Accueil Version 3 : carrousel 6 vidéos, centre + aperçus latéraux. */
.kp439-home{
  align-items:center;
  gap:clamp(34px,5vw,76px);
}
.kp439-home-copy{
  min-width:0;
}
.kp439-carousel-wrap{
  width:min(48vw,600px);
  min-width:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:15px;
  overflow:hidden;
}
.kp439-carousel-viewport{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  border-radius:30px;
  outline:none;
}
.kp439-carousel-viewport::-webkit-scrollbar{display:none}
.kp439-carousel-track{
  display:flex;
  align-items:center;
  gap:18px;
  padding-inline:calc((100% - min(68%,330px))/2);
}
.kp439-video-slide{
  flex:0 0 min(68%,330px);
  width:min(68%,330px);
  aspect-ratio:9/16;
  position:relative;
  overflow:hidden;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  border-radius:26px;
  background:#0d1511;
  box-shadow:0 18px 48px rgba(0,0,0,.17);
  opacity:.72;
  transform:scale(.955);
  transition:transform .35s ease,opacity .35s ease,box-shadow .35s ease;
}
.kp439-video-slide::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.22);
  pointer-events:none;
}
.kp439-video-slide.is-active{
  opacity:1;
  transform:scale(1);
  box-shadow:0 24px 58px rgba(0,0,0,.24);
}
.kp439-video,
.kp439-video-placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.kp439-video{background:#0d1511}
.kp439-video-placeholder{
  display:grid;
  place-items:center;
  background:linear-gradient(155deg,#163f2e,#071b13);
}
.kp439-video-placeholder span{
  font-family:Montserrat,Inter,sans-serif;
  font-weight:900;
  font-size:120px;
  color:rgba(255,255,255,.14);
}
.kp439-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:20px;
}
.kp439-dot{
  appearance:none;
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(16,40,27,.22);
  cursor:pointer;
  transition:width .25s ease,background .25s ease,transform .25s ease;
}
.kp439-dot:hover{transform:scale(1.16)}
.kp439-dot.is-active{
  width:28px;
  background:#17653f;
}
@media(max-width:940px){
  .kp439-home{gap:26px}
  .kp439-carousel-wrap{width:min(100%,650px);min-width:0}
  .kp439-carousel-track{padding-inline:calc((100% - min(64%,310px))/2);gap:14px}
  .kp439-video-slide{flex-basis:min(64%,310px);width:min(64%,310px);border-radius:22px}
}
@media(max-width:620px){
  .kp439-home{padding-top:28px}
  .kp439-carousel-wrap{width:calc(100vw - 20px);gap:12px}
  .kp439-carousel-viewport{border-radius:20px}
  .kp439-carousel-track{gap:11px;padding-inline:calc((100% - min(68vw,290px))/2)}
  .kp439-video-slide{flex-basis:min(68vw,290px);width:min(68vw,290px);border-radius:18px}
  .kp439-dots{gap:8px}
  .kp439-dot{width:8px;height:8px}
  .kp439-dot.is-active{width:24px}
}
@media(prefers-reduced-motion:reduce){
  .kp439-carousel-viewport{scroll-behavior:auto}
  .kp439-video-slide,.kp439-dot{transition:none}
}
