.elementor-kit-11{--e-global-color-primary:#F07C18;--e-global-color-secondary:#635D5A;--e-global-color-text:#666666;--e-global-color-accent:#E21320;--e-global-color-jptitre:#333333;--e-global-color-jpfondclair:#F7F7F7;--e-global-color-jpblanc:#FFFFFF;--e-global-color-jpligne:rgba(99, 93, 90, 0.18);--e-global-color-jpvoile:rgba(34, 32, 31, 0.62);--e-global-color-jpsombre:#222222;--e-global-color-jpclairtxt:#CFCCCA;--e-global-typography-primary-font-family:"Rubik";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Rubik";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:500;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Rubik";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:4px;--e-global-typography-jpxl-font-family:"Rubik";--e-global-typography-jpxl-font-size:64px;--e-global-typography-jpxl-font-weight:700;--e-global-typography-jpxl-line-height:1.08em;--e-global-typography-jph3-font-family:"Rubik";--e-global-typography-jph3-font-size:26px;--e-global-typography-jph3-font-weight:700;--e-global-typography-jph3-line-height:1.2em;--e-global-typography-jph4-font-family:"Rubik";--e-global-typography-jph4-font-size:20px;--e-global-typography-jph4-font-weight:700;--e-global-typography-jph4-line-height:1.25em;--e-global-typography-jpsur-font-family:"Rubik";--e-global-typography-jpsur-font-size:13px;--e-global-typography-jpsur-font-weight:700;--e-global-typography-jpsur-text-transform:uppercase;--e-global-typography-jpsur-letter-spacing:3px;--e-global-typography-jplead-font-family:"Open Sans";--e-global-typography-jplead-font-size:19px;--e-global-typography-jplead-font-weight:500;--e-global-typography-jplead-line-height:1.6em;--e-global-typography-jppetit-font-family:"Open Sans";--e-global-typography-jppetit-font-size:14px;--e-global-typography-jppetit-font-weight:500;--e-global-typography-jppetit-line-height:1.6em;background-color:var( --e-global-color-jpblanc );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-jpblanc );border-radius:0px 0px 0px 0px;padding:18px 34px 18px 34px;}.elementor-kit-11 button:hover,.elementor-kit-11 button:focus,.elementor-kit-11 input[type="button"]:hover,.elementor-kit-11 input[type="button"]:focus,.elementor-kit-11 input[type="submit"]:hover,.elementor-kit-11 input[type="submit"]:focus,.elementor-kit-11 .elementor-button:hover,.elementor-kit-11 .elementor-button:focus{background-color:var( --e-global-color-jptitre );color:var( --e-global-color-jpblanc );}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-kit-11 a{color:var( --e-global-color-primary );}.elementor-kit-11 a:hover{color:var( --e-global-color-accent );}.elementor-kit-11 h1{color:var( --e-global-color-jptitre );font-family:var( --e-global-typography-jpxl-font-family ), Sans-serif;font-size:var( --e-global-typography-jpxl-font-size );font-weight:var( --e-global-typography-jpxl-font-weight );line-height:var( --e-global-typography-jpxl-line-height );}.elementor-kit-11 h2{color:var( --e-global-color-jptitre );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-11 h3{color:var( --e-global-color-jptitre );font-family:var( --e-global-typography-jph3-font-family ), Sans-serif;font-size:var( --e-global-typography-jph3-font-size );font-weight:var( --e-global-typography-jph3-font-weight );line-height:var( --e-global-typography-jph3-line-height );}.elementor-kit-11 h4{color:var( --e-global-color-jptitre );font-family:var( --e-global-typography-jph4-font-family ), Sans-serif;font-size:var( --e-global-typography-jph4-font-size );font-weight:var( --e-global-typography-jph4-font-weight );line-height:var( --e-global-typography-jph4-line-height );}.elementor-kit-11 h5{color:var( --e-global-color-jptitre );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-11 h6{color:var( --e-global-color-jptitre );font-family:var( --e-global-typography-jpsur-font-family ), Sans-serif;font-size:var( --e-global-typography-jpsur-font-size );font-weight:var( --e-global-typography-jpsur-font-weight );text-transform:var( --e-global-typography-jpsur-text-transform );letter-spacing:var( --e-global-typography-jpsur-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-11{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:14px;--e-global-typography-jpxl-font-size:46px;--e-global-typography-jph3-font-size:23px;--e-global-typography-jph4-font-size:19px;--e-global-typography-jpsur-font-size:13px;--e-global-typography-jplead-font-size:18px;--e-global-typography-jppetit-font-size:14px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-11 h1{font-size:var( --e-global-typography-jpxl-font-size );line-height:var( --e-global-typography-jpxl-line-height );}.elementor-kit-11 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-11 h3{font-size:var( --e-global-typography-jph3-font-size );line-height:var( --e-global-typography-jph3-line-height );}.elementor-kit-11 h4{font-size:var( --e-global-typography-jph4-font-size );line-height:var( --e-global-typography-jph4-line-height );}.elementor-kit-11 h5{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-11 h6{font-size:var( --e-global-typography-jpsur-font-size );letter-spacing:var( --e-global-typography-jpsur-letter-spacing );}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-11{--e-global-typography-primary-font-size:26px;--e-global-typography-secondary-font-size:18px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:13px;--e-global-typography-accent-letter-spacing:3px;--e-global-typography-jpxl-font-size:34px;--e-global-typography-jph3-font-size:21px;--e-global-typography-jph4-font-size:18px;--e-global-typography-jpsur-font-size:12px;--e-global-typography-jplead-font-size:17px;--e-global-typography-jppetit-font-size:14px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-11 h1{font-size:var( --e-global-typography-jpxl-font-size );line-height:var( --e-global-typography-jpxl-line-height );}.elementor-kit-11 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-11 h3{font-size:var( --e-global-typography-jph3-font-size );line-height:var( --e-global-typography-jph3-line-height );}.elementor-kit-11 h4{font-size:var( --e-global-typography-jph4-font-size );line-height:var( --e-global-typography-jph4-line-height );}.elementor-kit-11 h5{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-11 h6{font-size:var( --e-global-typography-jpsur-font-size );letter-spacing:var( --e-global-typography-jpsur-letter-spacing );}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* === Joubert Pinet - decor HDKN (CSS du kit) === */
body{--jp-o:var(--e-global-color-primary,#F07C18);--jp-r:var(--e-global-color-accent,#E21320);--jp-d:#222222}
/* En-tete */
.jp-header{transition:box-shadow .35s ease}
.jp-header .jp-logo img{transition:width .35s ease}
.jp-header.elementor-sticky--effects .jp-logo img{width:76px}
.jp-nav .elementor-nav-menu--main .elementor-item{transition:color .25s ease,padding .35s ease}
.jp-header.elementor-sticky--effects .jp-nav .elementor-nav-menu--main .elementor-item{padding-top:18px;padding-bottom:18px}
.jp-nav .elementor-nav-menu--main .sub-arrow{font-size:9px;margin-left:7px;opacity:.55;transition:transform .3s ease,opacity .3s ease}
.jp-nav .elementor-nav-menu--main li:hover>.elementor-item .sub-arrow{transform:rotate(180deg);opacity:1}
.jp-nav .elementor-nav-menu--main .sub-menu{min-width:300px!important;border-top:3px solid var(--jp-o);padding:8px 0}
.jp-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item{position:relative;transition:padding-left .25s ease,color .25s ease,background-color .25s ease}
.jp-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item::before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--jp-r);transform:translateY(-50%);transition:height .25s ease}
.jp-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover{padding-left:30px}
.jp-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover::before,.jp-nav .elementor-nav-menu--main .sub-menu .elementor-item-active::before{height:60%}
.jp-nav .elementor-nav-menu--dropdown{border-top:3px solid var(--jp-o);box-shadow:0 24px 48px -18px rgba(34,32,31,.35);max-height:78vh;overflow-y:auto}
.jp-nav .elementor-nav-menu--dropdown>ul>li>a{font-family:"Rubik",sans-serif;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:1.2px}
.jp-nav .elementor-nav-menu--dropdown .sub-menu a{font-family:"Open Sans",sans-serif;font-weight:500;text-transform:none;letter-spacing:0;padding-left:34px!important}
/* Motif de blocs isometriques (echo du logo) */
.jp-cubes{position:relative;overflow:hidden}
.jp-cubes::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2));background-size:84px 147px;background-position:0 0,0 0,42px 73.5px,42px 73.5px,0 0,42px 73.5px}
.jp-cubes>*{position:relative;z-index:1}
.jp-soft{--c1:rgba(99,93,90,.055);--c2:rgba(99,93,90,.03)}
.jp-soft::before{-webkit-mask-image:linear-gradient(115deg,transparent 45%,#000 100%),linear-gradient(to bottom,transparent 0,#000 260px,#000 calc(100% - 160px),transparent 100%);mask-image:linear-gradient(115deg,transparent 45%,#000 100%),linear-gradient(to bottom,transparent 0,#000 260px,#000 calc(100% - 160px),transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.jp-soft.jp-soft-l::before{-webkit-mask-image:linear-gradient(245deg,transparent 45%,#000 100%),linear-gradient(to bottom,transparent 0,#000 260px,#000 calc(100% - 160px),transparent 100%);mask-image:linear-gradient(245deg,transparent 45%,#000 100%),linear-gradient(to bottom,transparent 0,#000 260px,#000 calc(100% - 160px),transparent 100%)}
.jp-band{--c1:rgba(255,255,255,.085);--c2:rgba(0,0,0,.05)}
.jp-dark{--c1:rgba(255,255,255,.04);--c2:rgba(255,255,255,.022)}
.jp-dark::before{-webkit-mask-image:linear-gradient(200deg,#000 0,transparent 70%);mask-image:linear-gradient(200deg,#000 0,transparent 70%)}
/* Hero : coupe diagonale en pied */
.jp-hero{position:relative;--jp-next:#FFFFFF}
.jp-hero.jp-next-soft{--jp-next:#F7F7F7}
.jp-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:72px;background:var(--jp-next);clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none;z-index:1}
.jp-hero>.e-con-inner{position:relative;z-index:2}
/* Surtitres : deux blocs du logo */
.jp-sur .elementor-heading-title::before{content:"";display:inline-block;vertical-align:middle;width:24px;height:10px;margin:-2px 12px 0 0;background:linear-gradient(90deg,var(--jp-o) 0 44%,transparent 44% 56%,var(--jp-r) 56% 100%);transform:skewX(-30deg)}
/* Cartes */
.jp-card{position:relative;transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease,border-color .45s ease}
.jp-card::after{content:"";position:absolute;right:0;top:0;width:0;height:0;border-style:solid;border-width:0 0 0 0;border-color:transparent var(--jp-r) transparent transparent;transition:border-width .35s ease;pointer-events:none}
.jp-card:hover{transform:translateY(-8px);border-color:var(--jp-r)!important;box-shadow:0 26px 50px -24px rgba(34,32,31,.45)!important}
.jp-card:hover::after{border-width:0 34px 34px 0}
.jp-card .elementor-icon{transition:transform .45s ease}
.jp-card:hover .elementor-icon{transform:translateY(-3px) scale(1.08)}
/* Photos : bloc de couleur decale */
.jp-photo{padding:0 18px 18px 0}
.jp-photo img{box-shadow:18px 18px 0 0 var(--jp-o);transition:box-shadow .45s ease,transform .45s ease}
.jp-photo:hover img{box-shadow:9px 9px 0 0 var(--jp-r);transform:translate(9px,9px)}
.jp-photo.jp-photo-l{padding:0 0 18px 18px}
.jp-photo.jp-photo-l img{box-shadow:-18px 18px 0 0 var(--jp-o)}
.jp-photo.jp-photo-l:hover img{box-shadow:-9px 9px 0 0 var(--jp-r);transform:translate(-9px,9px)}
@media(min-width:1025px){.jp-lift{margin-top:-170px;position:relative;z-index:3}}
/* Etapes sur fond sombre */
.jp-num .elementor-heading-title{color:transparent!important;-webkit-text-stroke:2px var(--jp-o)}
.jp-dark .jp-step{border-left:1px solid rgba(255,255,255,.14);padding-left:22px!important;transition:border-color .35s ease}
.jp-dark .jp-step:hover{border-left-color:var(--jp-o)}
.jp-dark .jp-step:hover .jp-num .elementor-heading-title{color:var(--jp-o)!important}
/* Boutons */
.elementor-button{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease}
.elementor-widget-button .elementor-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px -16px rgba(34,32,31,.6)}
/* FAQ, galerie, articles */
.elementor-accordion .elementor-accordion-item{border-left:3px solid transparent!important;transition:border-color .3s ease,background-color .3s ease}
.elementor-accordion .elementor-accordion-item:has(.elementor-active){border-left-color:var(--jp-o)!important;background:#fff}
.e-gallery-item{overflow:hidden}
.e-gallery-item .e-gallery-image{transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.e-gallery-item:hover .e-gallery-image{transform:scale(1.07)}
.elementor-post__thumbnail{overflow:hidden}
.elementor-post__thumbnail img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.06)}
/* Pied de page anime : blocs qui derivent, reflets orange et rouge */
.jp-footer{position:relative;overflow:hidden;isolation:isolate;--c1:rgba(255,255,255,.042);--c2:rgba(255,255,255,.02);background-image:radial-gradient(closest-side,rgba(240,124,24,.20),rgba(240,124,24,0)),radial-gradient(closest-side,rgba(226,19,32,.15),rgba(226,19,32,0));background-size:900px 700px,820px 640px;background-repeat:no-repeat;background-position:-10% 120%,110% -20%;animation:jp-glow 26s ease-in-out infinite alternate}
.jp-footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2));background-size:84px 147px;background-position:0 0,0 0,42px 73.5px,42px 73.5px,0 0,42px 73.5px;animation:jp-drift 70s linear infinite}
.jp-footer::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;--c1:rgba(240,124,24,.34);--c2:rgba(226,19,32,.20);background-image:linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2));background-size:84px 147px;background-position:0 0,0 0,42px 73.5px,42px 73.5px,0 0,42px 73.5px;animation:jp-drift 70s linear infinite,jp-sweep 18s ease-in-out infinite alternate;-webkit-mask-image:radial-gradient(closest-side,#000 0,transparent 100%);mask-image:radial-gradient(closest-side,#000 0,transparent 100%);-webkit-mask-size:620px 460px;mask-size:620px 460px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:-20% 80%;mask-position:-20% 80%}
@keyframes jp-drift{from{background-position:0 0,0 0,42px 73.5px,42px 73.5px,0 0,42px 73.5px}to{background-position:84px 147px,84px 147px,126px 220.5px,126px 220.5px,84px 147px,126px 220.5px}}
@keyframes jp-glow{from{background-position:-10% 120%,110% -20%}to{background-position:35% 60%,60% 30%}}
@keyframes jp-sweep{from{-webkit-mask-position:-20% 80%;mask-position:-20% 80%}to{-webkit-mask-position:120% 10%;mask-position:120% 10%}}
@media(max-width:767px){.jp-hero::after{height:34px}.jp-photo,.jp-photo.jp-photo-l{padding:0 10px 10px 0}.jp-photo img,.jp-photo.jp-photo-l img{box-shadow:10px 10px 0 0 var(--jp-o)}.jp-footer{background-size:560px 480px,520px 440px}.jp-footer::after{-webkit-mask-size:360px 320px;mask-size:360px 320px;animation:jp-drift 70s linear infinite,jp-sweep-m 14s ease-in-out infinite alternate}.jp-dark .jp-step{border-left:0;padding-left:0!important}}
@media(prefers-reduced-motion:reduce){.jp-footer,.jp-footer::before,.jp-footer::after{animation:none}.jp-card,.jp-photo img,.elementor-button,.e-gallery-item .e-gallery-image,.elementor-post__thumbnail img{transition:none}}
/* Ajouts du 17/09 soir */
@keyframes jp-sweep-m{from{-webkit-mask-position:-240px 88%;mask-position:-240px 88%}to{-webkit-mask-position:calc(100% + 240px) 8%;mask-position:calc(100% + 240px) 8%}}
/* CTA orange de fin de page : orange uni */

/* Page Realisations : un bloc par chantier */
.jp-real-item{border-top:1px solid rgba(99,93,90,.18);transition:border-color .3s ease}
.jp-real-item:hover{border-top-color:var(--jp-o)}
.jp-real .gallery{display:grid!important;grid-template-columns:repeat(4,1fr);gap:10px;margin:0!important}
.jp-real .gallery .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}
.jp-real .gallery .gallery-icon{overflow:hidden}
.jp-real .gallery .gallery-icon a{display:block;position:relative}
.jp-real .gallery img{width:100%!important;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border:0!important;transition:transform .6s cubic-bezier(.2,.7,.3,1),filter .4s ease}
.jp-real .gallery .gallery-item:hover img{transform:scale(1.07);filter:brightness(.82)}
.jp-real .gallery br,.jp-real .gallery .gallery-caption{display:none!important}
.jp-real .gallery .gallery-item:first-child{grid-column:span 2;grid-row:span 2}
@media(max-width:1024px){.jp-real .gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.jp-real .gallery{grid-template-columns:repeat(2,1fr);gap:6px}.jp-real .gallery .gallery-item:first-child{grid-column:span 2;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.jp-real .gallery img{transition:none}}

/* Onglets Realisations */
.jp-tabs .e-n-tabs-heading{gap:8px!important;justify-content:flex-start!important;flex-wrap:wrap!important;margin-bottom:26px}
.jp-tabs .e-n-tab-title{background:#fff!important;border:1px solid rgba(99,93,90,.2)!important;border-radius:0!important;padding:13px 18px!important;transition:background-color .25s ease,border-color .25s ease,color .25s ease;cursor:pointer}
.jp-tabs .e-n-tab-title .e-n-tab-title-text{font-family:"Rubik",sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:#333333;transition:color .25s ease}
.jp-tabs .e-n-tab-title:hover{border-color:var(--jp-o)!important}
.jp-tabs .e-n-tab-title:hover .e-n-tab-title-text{color:var(--jp-o)}
.jp-tabs .e-n-tab-title[aria-selected="true"]{background:var(--jp-o)!important;border-color:var(--jp-o)!important}
.jp-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text{color:#fff}
.jp-tabs .e-n-tabs-content>.e-con{border:0!important;padding:0!important}
.jp-real .gallery .gallery-item:first-child,.jp-real .gallery .gallery-item:first-child .gallery-icon,.jp-real .gallery .gallery-item:first-child a{height:100%}
.jp-real .gallery .gallery-item:first-child img{height:100%;aspect-ratio:auto}
.jp-real .gallery .gallery-item:only-child{grid-column:span 2;grid-row:auto}
@media(max-width:767px){.jp-tabs .e-n-tab-title{padding:10px 12px!important}.jp-tabs .e-n-tab-title .e-n-tab-title-text{font-size:11px;letter-spacing:1px}.jp-real .gallery .gallery-item:first-child img{height:auto;aspect-ratio:4/3}}

/* CTA et barre haute v2 */
/* CTA orange de fin de page : orange uni avec halos de lumiere qui bougent, sans motif ni aplats */
.elementor>.jp-band:last-child::before{-webkit-mask-image:none;mask-image:none;background-image:radial-gradient(closest-side,rgba(255,196,96,.62),rgba(255,196,96,0)),radial-gradient(closest-side,rgba(226,19,32,.42),rgba(226,19,32,0)),radial-gradient(closest-side,rgba(255,255,255,.16),rgba(255,255,255,0));background-size:980px 640px,900px 600px,700px 460px;background-repeat:no-repeat;background-position:-12% 130%,112% -30%,50% 50%;animation:jp-glow-cta 20s ease-in-out infinite alternate}
@keyframes jp-glow-cta{from{background-position:-12% 130%,112% -30%,40% 60%}to{background-position:42% 40%,58% 60%,60% 40%}}
@media(max-width:767px){.elementor>.jp-band:last-child::before{background-size:560px 460px,520px 430px,400px 320px}}
/* Barre haute : meme effet que le pied de page, en petit */
.jp-topbar{position:relative;overflow:hidden;isolation:isolate;--c1:rgba(255,255,255,.055);--c2:rgba(255,255,255,.028);background-image:radial-gradient(closest-side,rgba(240,124,24,.30),rgba(240,124,24,0)),radial-gradient(closest-side,rgba(226,19,32,.24),rgba(226,19,32,0));background-size:520px 170px,460px 160px;background-repeat:no-repeat;background-position:-15% 50%,115% 50%;animation:jp-glow-t 20s ease-in-out infinite alternate}
.jp-topbar::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2));background-size:42px 73.5px;background-position:0 0,0 0,21px 36.75px,21px 36.75px,0 0,21px 36.75px;animation:jp-drift-s 46s linear infinite}
.jp-topbar::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;--c1:rgba(240,124,24,.42);--c2:rgba(226,19,32,.26);background-image:linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(30deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(150deg,var(--c1) 12%,transparent 12.5%,transparent 87%,var(--c1) 87.5%,var(--c1)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2)),linear-gradient(60deg,var(--c2) 25%,transparent 25.5%,transparent 75%,var(--c2) 75%,var(--c2));background-size:42px 73.5px;background-position:0 0,0 0,21px 36.75px,21px 36.75px,0 0,21px 36.75px;animation:jp-drift-s 46s linear infinite,jp-sweep-t 11s ease-in-out infinite alternate;-webkit-mask-image:radial-gradient(closest-side,#000 0,transparent 100%);mask-image:radial-gradient(closest-side,#000 0,transparent 100%);-webkit-mask-size:320px 150px;mask-size:320px 150px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:-320px 50%;mask-position:-320px 50%}
@keyframes jp-drift-s{from{background-position:0 0,0 0,21px 36.75px,21px 36.75px,0 0,21px 36.75px}to{background-position:42px 73.5px,42px 73.5px,63px 110.25px,63px 110.25px,42px 73.5px,63px 110.25px}}
@keyframes jp-glow-t{from{background-position:-15% 50%,115% 50%}to{background-position:65% 50%,35% 50%}}
@keyframes jp-sweep-t{from{-webkit-mask-position:-320px 50%;mask-position:-320px 50%}to{-webkit-mask-position:calc(100% + 320px) 50%;mask-position:calc(100% + 320px) 50%}}
/* Menu mobile : hierarchie typographique forcee + confort tactile */
.jp-nav nav.elementor-nav-menu--dropdown>ul>li>a.elementor-item{font-family:"Rubik",sans-serif!important;font-weight:600!important;font-size:14px!important;text-transform:uppercase!important;letter-spacing:1.3px!important;padding:17px 22px!important}
.jp-nav nav.elementor-nav-menu--dropdown .sub-menu{background:#F7F7F7}
.jp-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item{font-family:"Open Sans",sans-serif!important;font-weight:500!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;padding:13px 22px 13px 38px!important;background:transparent}
.jp-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item:hover,.jp-nav nav.elementor-nav-menu--dropdown .sub-menu a.elementor-item-active{color:var(--jp-o)!important;background:#fff!important}
.jp-nav nav.elementor-nav-menu--dropdown .sub-arrow{margin-left:auto;padding:0 0 0 12px}
.jp-nav nav.elementor-nav-menu--dropdown a{justify-content:space-between}
@media(prefers-reduced-motion:reduce){.jp-topbar,.jp-topbar::before,.jp-topbar::after,.elementor>.jp-band:last-child::before{animation:none}}


/* Galeries de chantier : le grand format ne s'applique qu'a partir de 4 photos */
@media(min-width:768px){
.jp-real .gallery:not(:has(.gallery-item:nth-child(4))) .gallery-item:first-child{grid-column:auto;grid-row:auto}
.jp-real .gallery:has(.gallery-item:nth-child(3)):not(:has(.gallery-item:nth-child(4))){grid-template-columns:repeat(3,1fr)}
.jp-real .gallery:not(:has(.gallery-item:nth-child(3))){grid-template-columns:repeat(2,1fr)}
.jp-real .gallery:not(:has(.gallery-item:nth-child(2))){grid-template-columns:1fr}
}
/* Onglets des realisations : plus compacts sur telephone */
@media(max-width:767px){.jp-tabs .e-n-tab-title{padding:10px 12px!important}.jp-tabs .e-n-tab-title-text{font-size:11px!important;letter-spacing:.5px!important}}


/* Bandeau partenaires : defilement continu, pause au survol */
.jp-partners{overflow:hidden}
.jp-marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)}
.jp-marquee-track{flex-direction:row!important;flex-wrap:nowrap!important;width:max-content!important;max-width:none!important;align-items:center!important;gap:0!important;animation:jp-marq 64s linear infinite;will-change:transform}
@keyframes jp-marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.jp-marquee:hover .jp-marquee-track,.jp-marquee:focus-within .jp-marquee-track{animation-play-state:paused}
.jp-marquee .elementor-widget{flex:0 0 auto;width:210px;padding:0 26px;margin:0!important}
.jp-marquee .elementor-widget-image img{width:100%;height:64px;object-fit:contain;display:block;filter:grayscale(100%) contrast(.92);opacity:.52;transition:filter .45s ease,opacity .45s ease,transform .45s cubic-bezier(.2,.7,.3,1)}
.jp-marquee .elementor-widget-image:hover img{filter:none;opacity:1;transform:translateY(-4px) scale(1.06)}
.jp-marquee .elementor-widget-image a{display:block;outline-offset:6px}
.jp-logo-txt .elementor-heading-title{display:flex;align-items:center;justify-content:center;height:64px;font-family:"Rubik",sans-serif;font-weight:700;font-size:19px;letter-spacing:.5px;color:var(--jp-t,#635D5A);opacity:.52;transition:opacity .45s ease,color .45s ease,transform .45s cubic-bezier(.2,.7,.3,1)}
.jp-logo-txt:hover .elementor-heading-title{opacity:1;color:var(--jp-o,#F07C18);transform:translateY(-4px)}
@media(max-width:1024px){.jp-marquee .elementor-widget{width:180px;padding:0 20px}.jp-marquee .elementor-widget-image img,.jp-logo-txt .elementor-heading-title{height:54px}.jp-marquee-track{animation-duration:52s}}
@media(max-width:767px){.jp-marquee .elementor-widget{width:146px;padding:0 15px}.jp-marquee .elementor-widget-image img,.jp-logo-txt .elementor-heading-title{height:44px}.jp-logo-txt .elementor-heading-title{font-size:16px}.jp-marquee-track{animation-duration:40s}.jp-marquee{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.jp-marquee-track{animation:none}.jp-marquee{overflow-x:auto}.jp-marquee .elementor-widget-image img{filter:none;opacity:1}}

/* Le bandeau s'etend sur toute la largeur de l'ecran */
.jp-marquee{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

.jp-partners{background:#fff;border-top:1px solid rgba(99,93,90,.16);border-bottom:1px solid rgba(99,93,90,.16)}

/* Calage individuel des logos : largeur de la case selon le rapport du logo */
.jp-marquee .jp-l-metro{width:300px}
.jp-marquee .jp-l-stegreve{width:250px}
.jp-marquee .jp-l-andritz{width:250px}
.jp-marquee .jp-l-colas{width:230px}
.jp-marquee .jp-l-provencia{width:210px}
.jp-marquee .jp-l-petzl{width:190px}
.jp-marquee .jp-l-carrefour,.jp-marquee .jp-l-chambery,.jp-marquee .jp-l-lamorte{width:170px}
.jp-marquee .jp-l-carrefour img,.jp-marquee .jp-l-chambery img,.jp-marquee .jp-l-lamorte img{height:72px}
.jp-logo-txt .elementor-heading-title{white-space:nowrap;color:#635D5A}
@media(max-width:767px){.jp-marquee .jp-l-metro{width:220px}.jp-marquee .jp-l-stegreve,.jp-marquee .jp-l-andritz{width:185px}.jp-marquee .jp-l-colas{width:165px}.jp-marquee .jp-l-provencia{width:150px}.jp-marquee .jp-l-petzl,.jp-marquee .jp-l-carrefour,.jp-marquee .jp-l-chambery,.jp-marquee .jp-l-lamorte{width:130px}.jp-marquee .jp-l-carrefour img,.jp-marquee .jp-l-chambery img,.jp-marquee .jp-l-lamorte img{height:50px}}

/* Vignette texte du bandeau (partenaire sans logo) */
.jp-marquee .jp-logo-txt{width:240px}
.jp-marquee .jp-logo-txt .elementor-heading-title{display:flex!important;align-items:center;justify-content:center;height:72px!important;white-space:nowrap;font-family:"Rubik",sans-serif!important;font-weight:700!important;font-size:20px!important;line-height:1!important;letter-spacing:.4px!important;color:#5A5552!important;opacity:.5;transition:opacity .45s ease,color .45s ease,transform .45s cubic-bezier(.2,.7,.3,1)}
.jp-marquee .jp-logo-txt:hover .elementor-heading-title{opacity:1;color:#F07C18!important;transform:translateY(-4px)}
@media(max-width:767px){.jp-marquee .jp-logo-txt{width:175px}.jp-marquee .jp-logo-txt .elementor-heading-title{height:50px!important;font-size:16px!important}}

/* Lien de l'article vers la prestation concernee */
.jp-presta-link{margin-top:34px;padding:16px 20px;border-left:3px solid var(--jp-o,#F07C18);background:#F7F7F7;font-family:"Open Sans",sans-serif;font-size:15px;color:#635D5A}
.jp-presta-link a{color:#333333;font-weight:600;text-decoration:none;box-shadow:inset 0 -1px 0 rgba(240,124,24,.5);transition:color .25s ease,box-shadow .25s ease}
.jp-presta-link a:hover{color:#F07C18;box-shadow:inset 0 -2px 0 #F07C18}/* End custom CSS */