html,body{margin:0;padding:0;overflow-x:hidden}body{font-family:Arial,Helvetica,sans-serif;color:#627684;background:#fff}.hs-site{width:100%;min-height:100vh}.hs-container{width:min(calc(100% - 48px),var(--hs-content));margin:auto}.hs-header{position:relative;z-index:1000;width:100%;background:linear-gradient(135deg,var(--hs-blue),var(--hs-blue-dark));color:#fff}.hs-header__inner{min-height:100px;display:grid;grid-template-columns:var(--hs-logo-w) 1fr auto;align-items:center;gap:28px;width:min(calc(100% - 48px),1440px);margin:auto}.hs-logo{display:block;width:100%;height:80px;overflow:hidden}.hs-logo img{width:100%;height:100%;object-fit:contain}.hs-logo--text{height:auto;color:#fff;font-weight:900}.hs-menu,.hs-menu ul,.hs-mobile-menu,.hs-footer-menu{margin:0;padding:0;list-style:none}.hs-menu{display:flex;justify-content:center;gap:25px}.hs-menu a{color:#fff;font-size:12px;font-weight:800;text-transform:uppercase}.hs-header__cta,.hs-mobile-cta,.hs-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:12px 20px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--hs-green),#358e52);font-weight:800}.hs-toggle{display:none}.hs-mobile-panel,.hs-mobile-backdrop{display:none}.hs-main{width:100%;min-height:60vh}.hs-page-content{width:100%;margin:0;padding:0}.hs-page-content>.vc_row,.hs-page-content>.wpb_row{margin-left:0!important;margin-right:0!important}.hs-page-content .vc_row[data-vc-full-width=true]{left:auto!important;width:100%!important}.hs-page-hero{padding:80px 0;background:linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark));color:#fff}.hs-page-hero h1{margin:0;color:#fff;font-size:clamp(38px,5vw,70px)}.hs-footer{padding:70px 0 0;background:#00283f;color:#fff}.hs-footer__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.hs-footer a{display:block;margin:8px 0;color:rgba(255,255,255,.75)}.hs-footer__logo{width:180px}.hs-footer__bottom{margin-top:50px;padding:20px;text-align:center;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5)}.hs-section{padding:100px 0}.hs-section--light{background:#f4f9fb}.hs-section--dark{color:#fff;background:linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark))}.hs-section__head{max-width:800px;margin:0 auto 45px;text-align:center}.hs-section__head span{color:#4fae6d;font-size:11px;font-weight:800;text-transform:uppercase}.hs-section__head h2{margin:15px 0;color:#003b5c;font-size:clamp(34px,4vw,56px)}.hs-section__head h2 strong{display:block;color:#4fae6d}.hs-grid{display:grid;gap:20px}.hs-grid--2{grid-template-columns:repeat(2,1fr)}.hs-grid--3{grid-template-columns:repeat(3,1fr)}.hs-grid--4{grid-template-columns:repeat(4,1fr)}.hs-card,.hs-stat{padding:28px;border:1px solid rgba(0,59,92,.1);border-radius:24px;background:#fff;box-shadow:0 15px 40px rgba(0,43,67,.08)}.hs-card h3{color:#003b5c}.hs-dark-card{min-height:260px;padding:30px;border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(65,201,232,.2),transparent 30%),linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark))}.hs-dark-card h3{color:#fff;font-size:28px}.hs-dark-card p{color:rgba(255,255,255,.75)}.hs-stat{text-align:center}.hs-stat strong{display:block;color:#003b5c;font-size:48px}.hs-request{display:flex;align-items:center;justify-content:space-between;gap:30px}.hs-request h2{color:#fff;font-size:50px}.hs-btn--green{color:#fff}.hs-listing,.hs-single__content,.hs-empty{padding:80px 0}.hs-post-card{padding:25px 0;border-bottom:1px solid #ddd}.hs-loader{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark));color:#fff;transition:.4s}.hs-loader.is-hidden{opacity:0;visibility:hidden}.hs-loader__logo{width:250px;margin:auto}.hs-loader__bar{width:min(70vw,450px);height:6px;margin:25px auto 10px;border-radius:10px;background:rgba(255,255,255,.12);overflow:hidden}.hs-loader__bar span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--hs-green),var(--hs-cyan));animation:hsLoad 1.3s forwards}@keyframes hsLoad{to{width:100%}}.hs-floating{position:fixed;z-index:9000;right:22px;bottom:22px;padding:15px 21px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--hs-green),#358e52);box-shadow:0 18px 40px rgba(0,40,63,.25);font-weight:800}.hs-popup{position:fixed;z-index:9500;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.hs-popup.is-open{opacity:1;visibility:visible}.hs-popup__backdrop{position:absolute;inset:0;background:rgba(0,20,34,.65);backdrop-filter:blur(6px)}.hs-popup__dialog{position:relative;width:min(calc(100% - 36px),560px);padding:36px;border-radius:28px;color:#fff;background:linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark));box-shadow:0 40px 90px rgba(0,20,34,.4)}.hs-popup__dialog h2{color:#fff;font-size:42px}.hs-popup__dialog p{color:rgba(255,255,255,.75)}.hs-popup__dialog>a{display:flex;margin-top:10px;padding:15px;border-radius:999px;color:#fff;background:var(--hs-green);font-weight:800}.hs-popup__phone{background:rgba(255,255,255,.08)!important}.hs-popup__close{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:transparent;font-size:25px}.hs-preset--conversion .hhp-values,.hs-preset--conversion .hhp-coverage{display:none}.hs-preset--corporate .hhp-hero__mesh{display:none}.hs-preset--corporate .hhp-service-card__visual{animation:none}.hs-preset--compact .hhp-values,.hs-preset--compact .hhp-means,.hs-preset--compact .hhp-process,.hs-preset--compact .hhp-coverage{display:none}.hs-preset--compact .hhp-hero{min-height:720px}.helfe-front-premium .hhp-hero,.helfe-front-conversion .hhp-hero,.helfe-front-corporate .hhp-hero,.helfe-front-compact .hhp-hero{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
@media(max-width:900px){.hs-container{width:calc(100% - 36px)}.hs-header__inner{min-height:120px;width:100%;padding:0 18px;grid-template-columns:140px 1fr 56px}.hs-nav,.hs-header__cta{display:none}.hs-toggle{display:block;width:54px;height:54px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,59,92,.85)}.hs-toggle span{display:block;width:24px;height:3px;margin:5px auto;background:#fff}.hs-mobile-panel{position:fixed;z-index:9200;top:0;right:0;bottom:0;width:88vw;max-width:500px;display:block;padding:30px 22px;background:linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark));transform:translateX(105%);transition:.4s}.hs-mobile-panel.is-open{transform:none}.hs-mobile-backdrop{position:fixed;z-index:9100;inset:0;display:block;opacity:0;visibility:hidden;background:rgba(0,20,34,.6)}.hs-mobile-backdrop.is-open{opacity:1;visibility:visible}.hs-mobile-close{float:right;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;background:transparent;font-size:26px}.hs-mobile-menu{clear:both;padding-top:25px}.hs-mobile-menu a{display:block;margin:8px 0;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;font-weight:800}.hs-mobile-cta{margin-top:18px;width:100%}.hs-footer__grid{grid-template-columns:1fr}.hs-grid--2,.hs-grid--3,.hs-grid--4{grid-template-columns:1fr}.hs-request{align-items:flex-start;flex-direction:column}.hs-request h2{font-size:38px}.helfe-full-width-pages .hs-page-content,.helfe-full-width-pages .hs-page-content>*{max-width:100%;}.hs-page-content .vc_column_container>.vc_column-inner{padding-left:0!important;padding-right:0!important}}


/* =========================================================
   HELFE STANDALONE 1.1 — HEADER PREMIUM & POPUP CAMION
========================================================= */
:root{--hs-header-h:104px;--hs-header-top:18px}
.hs-header{position:relative;z-index:10000;width:100%;background:transparent;color:#fff;transition:background .35s,box-shadow .35s,transform .35s}
.helfe-header-sticky .hs-header{position:sticky;top:0}
.admin-bar.helfe-header-sticky .hs-header{top:32px}
.helfe-header-overlay .hs-header{position:absolute;top:0;left:0}
.admin-bar.helfe-header-overlay .hs-header{top:32px}
.hs-header__shell{width:100%;padding:var(--hs-header-top) 22px 0}
.hs-header__inner{position:relative;min-height:var(--hs-header-h);grid-template-columns:var(--hs-logo-w) minmax(0,1fr) auto;width:min(100%,1480px);gap:clamp(20px,2.8vw,46px);padding:0 22px;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:linear-gradient(135deg,rgba(0,59,92,.82),rgba(0,40,63,.78));box-shadow:0 22px 55px rgba(0,25,40,.2);backdrop-filter:blur(20px) saturate(1.2);transition:min-height .3s,background .3s,box-shadow .3s,border-radius .3s}
.helfe-header-style-solid .hs-header__inner{background:linear-gradient(135deg,var(--hs-blue),var(--hs-blue-dark));backdrop-filter:none}
.helfe-header-style-minimal .hs-header__inner{border-color:transparent;background:rgba(0,40,63,.34);box-shadow:none}
.hs-header.is-scrolled .hs-header__inner{min-height:80px;border-radius:22px;background:linear-gradient(135deg,rgba(0,59,92,.97),rgba(0,40,63,.97));box-shadow:0 18px 45px rgba(0,25,40,.32)}
.hs-header__brand{min-width:0}.hs-logo{height:calc(var(--hs-header-h) - 22px);transition:height .3s,transform .3s}.hs-header.is-scrolled .hs-logo{height:62px}.hs-logo img{filter:drop-shadow(0 8px 18px rgba(0,20,34,.22))}.hs-header__brand:hover .hs-logo{transform:scale(1.035)}
.hs-nav{min-width:0;display:flex;justify-content:center}.hs-menu{position:relative;align-items:center;gap:6px;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.hs-menu>li{position:relative}.hs-menu>li>a{position:relative;display:flex;align-items:center;min-height:42px;padding:0 clamp(12px,1.1vw,20px);border-radius:999px;color:#fff!important;font-size:11px;letter-spacing:.25px;white-space:nowrap;transition:background .25s,color .25s,transform .25s}.hs-menu>li>a:after{content:"";position:absolute;right:18px;bottom:7px;left:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--hs-green),var(--hs-cyan));transform:scaleX(0);transition:transform .25s}.hs-menu>li:hover>a,.hs-menu>.current-menu-item>a,.hs-menu>.current_page_item>a{background:rgba(255,255,255,.1);transform:translateY(-1px)}.hs-menu>li:hover>a:after,.hs-menu>.current-menu-item>a:after,.hs-menu>.current_page_item>a:after{transform:scaleX(1)}
.hs-menu .sub-menu{position:absolute;top:calc(100% + 14px);left:50%;min-width:230px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(0,40,63,.97);box-shadow:0 24px 55px rgba(0,20,34,.34);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:.25s}.hs-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.hs-menu .sub-menu a{display:block;padding:12px 14px;border-radius:12px;color:#fff!important;font-size:12px;text-transform:none}.hs-menu .sub-menu a:hover{background:rgba(255,255,255,.08)}
.hs-header__cta{min-height:58px;padding:14px 24px;white-space:nowrap;box-shadow:0 14px 32px rgba(79,174,109,.28);transition:transform .3s,box-shadow .3s}.hs-header__cta:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(79,174,109,.36)}.hs-header__cta span{font-size:19px;transition:transform .3s}.hs-header__cta:hover span{transform:translateX(5px)}
body:not(.helfe-header-overlay) .hs-main{padding-top:18px}

/* Mobile premium */
@media(max-width:900px){
.admin-bar.helfe-header-sticky .hs-header,.admin-bar.helfe-header-overlay .hs-header{top:46px}.hs-header__shell{padding:0}.hs-header__inner{min-height:116px;width:100%;grid-template-columns:minmax(115px,145px) 1fr 58px;padding:0 18px;border:0;border-radius:0;background:linear-gradient(135deg,var(--hs-blue),var(--hs-blue-dark));box-shadow:0 10px 30px rgba(0,28,44,.18);backdrop-filter:none}.hs-header.is-scrolled .hs-header__inner{min-height:88px;border-radius:0}.hs-logo{height:96px}.hs-header.is-scrolled .hs-logo{height:70px}.hs-toggle{justify-self:end;display:grid;place-items:center;width:56px;height:56px;padding:0;border-color:rgba(255,255,255,.28);box-shadow:0 12px 28px rgba(0,28,44,.22)}.hs-toggle span{position:absolute;margin:0;transition:transform .3s,opacity .3s}.hs-toggle span:nth-child(1){transform:translateY(-8px)}.hs-toggle span:nth-child(3){transform:translateY(8px)}.hs-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}.hs-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.hs-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
.hs-mobile-panel{width:min(90vw,500px);padding:24px 20px 35px;border-radius:30px 0 0 30px;box-shadow:-28px 0 70px rgba(0,20,34,.38)}.hs-mobile-panel__head{display:flex;align-items:center;justify-content:space-between}.hs-mobile-panel__logo{width:145px}.hs-mobile-panel__eyebrow{display:block;margin:20px 0;color:#91d7a6;font-size:10px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.hs-mobile-close{float:none}.hs-mobile-menu{padding-top:0;clear:none;display:grid;gap:8px}.hs-mobile-menu a{position:relative;margin:0;min-height:57px;display:flex;align-items:center;justify-content:space-between;padding:14px 17px;background:rgba(255,255,255,.065)}.hs-mobile-menu>li>a:after{content:"→";color:var(--hs-cyan)}.hs-mobile-panel__contact{display:grid;gap:8px;margin-top:14px}.hs-mobile-panel__contact a{padding:13px 15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;background:rgba(255,255,255,.055)}
}

/* Popup camion visuelle */
.hs-floating{display:flex;align-items:center;gap:10px;overflow:visible;animation:hsFloatPulse 2.6s ease-in-out infinite}.hs-floating__truck{font-size:23px;transform-origin:50% 100%;animation:hsMiniTruck 1.3s ease-in-out infinite}.hs-floating:hover{animation:none;transform:translateY(-4px)}
.hs-popup__dialog{width:min(calc(100% - 36px),640px);overflow:hidden;padding:0 38px 38px;border:1px solid rgba(255,255,255,.17);background:radial-gradient(circle at 88% 8%,rgba(79,174,109,.28),transparent 31%),linear-gradient(145deg,#004766,#00283f);transform:translateY(35px) scale(.94);transition:transform .46s cubic-bezier(.2,1.2,.35,1)}.hs-popup.is-open .hs-popup__dialog{transform:none}.hs-popup__visual{position:relative;height:190px;margin:0 -38px 24px;overflow:hidden;background:linear-gradient(180deg,rgba(65,201,232,.13),transparent)}.hs-popup__visual:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 25%,rgba(255,255,255,.1) 25.2% 25.45%,transparent 25.7% 58%,rgba(65,201,232,.15) 58.2% 58.45%,transparent 58.7%)}.hs-popup__truck-wrap{position:absolute;left:50%;bottom:34px;width:280px;height:125px;transform:translateX(-50%);animation:hsTruckBounce 1.25s ease-in-out infinite}.hs-popup__truck{position:relative;z-index:2;width:100%;height:100%;overflow:visible}.hs-popup__truck-body{fill:#fff;stroke:#dcebf1;stroke-width:3}.hs-popup__truck-body text{fill:var(--hs-blue);font-size:24px;font-weight:900}.hs-popup__wheels circle:nth-child(-n+2){fill:#172c37;stroke:#fff;stroke-width:4}.hs-popup__wheels circle:nth-child(n+3){fill:var(--hs-cyan);animation:hsWheelSpin .7s linear infinite;transform-origin:center;transform-box:fill-box}.hs-popup__shadow{position:absolute;right:25px;bottom:0;left:25px;height:18px;border-radius:50%;background:rgba(0,20,34,.34);filter:blur(5px);animation:hsShadow 1.25s ease-in-out infinite}.hs-popup__road{position:absolute;right:0;bottom:18px;left:0;height:3px;background:rgba(255,255,255,.13)}.hs-popup__road i{position:absolute;top:-1px;width:45px;height:5px;border-radius:5px;background:rgba(255,255,255,.5);animation:hsRoad 1.1s linear infinite}.hs-popup__road i:nth-child(2){left:38%;animation-delay:-.35s}.hs-popup__road i:nth-child(3){left:72%;animation-delay:-.72s}.hs-popup__tag{color:#91d7a6!important;font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}.hs-popup__dialog h2{margin:15px 0 0;color:#fff!important;font-size:clamp(36px,6vw,54px);line-height:1.02}.hs-popup__dialog p{margin:18px 0 0;color:rgba(255,255,255,.78)!important;font-size:16px;line-height:1.65}.hs-popup__actions{display:grid;gap:10px;margin-top:25px}.hs-popup__actions a{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-radius:999px;color:#fff!important;font-weight:800}.hs-popup__primary{background:linear-gradient(135deg,var(--hs-green),#358e52);box-shadow:0 15px 35px rgba(79,174,109,.25)}.hs-popup__phone{border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07)!important}.hs-popup__close{z-index:4}
@keyframes hsTruckBounce{0%,100%{transform:translateX(-50%) translateY(0) rotate(-.5deg)}50%{transform:translateX(-50%) translateY(-10px) rotate(.7deg)}}@keyframes hsShadow{0%,100%{transform:scaleX(1);opacity:.42}50%{transform:scaleX(.82);opacity:.25}}@keyframes hsWheelSpin{to{transform:rotate(360deg)}}@keyframes hsRoad{from{left:100%}to{left:-50px}}@keyframes hsMiniTruck{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-4deg)}}@keyframes hsFloatPulse{0%,100%{box-shadow:0 18px 40px rgba(0,40,63,.25),0 0 0 0 rgba(79,174,109,.22)}50%{box-shadow:0 22px 45px rgba(0,40,63,.3),0 0 0 12px rgba(79,174,109,0)}}
@media(max-width:600px){.hs-floating{right:16px;bottom:16px;width:60px;height:60px;justify-content:center;padding:0}.hs-floating__label{display:none}.hs-popup__dialog{padding:0 23px 28px}.hs-popup__visual{height:165px;margin:0 -23px 20px}.hs-popup__truck-wrap{width:235px}.hs-popup__dialog h2{font-size:38px}}


/* =========================================================
   HELFE STANDALONE 1.2 — STABILISATION AFFICHAGE
========================================================= */
html.hs-menu-lock,html.hs-popup-lock,html.hs-loader-lock{overflow:hidden!important}

/* Aucun soulignement dans les navigations et boutons du thème. */
.hs-header a,.hs-nav a,.hs-menu a,.hs-menu a:link,.hs-menu a:visited,
.hs-mobile-panel a,.hs-mobile-menu a,.hs-footer a,.hs-header__cta,
.hs-floating,.hs-popup a,.hs-btn{
 text-decoration:none!important;
 text-decoration-line:none!important;
 text-decoration-thickness:0!important;
 -webkit-text-decoration:none!important;
}
.hs-menu>li>a:before{display:none!important}

/* Le contenu des pages doit toujours rester visible. */
.hs-main,.hs-page,.hs-page-content,.hs-page-content>.wpb-content-wrapper,
.hs-page-content .vc_row,.hs-page-content .wpb_row,.hs-page-content .vc_column_container,
.hs-page-content .vc_column-inner,.hs-page-content .wpb_wrapper,.hs-page-content .wpb_content_element{
 visibility:visible!important;opacity:1!important;
}
.hs-page-content{position:relative;z-index:1;min-height:180px;overflow:visible!important}
.hs-page-content img,.hs-page-content video,.hs-page-content iframe{max-width:100%;height:auto}
.hs-page-content .vc_row,.hs-page-content .wpb_row{box-sizing:border-box!important}

/* Header desktop stable. */
@media(min-width:1025px){
 .hs-nav{display:flex!important}.hs-header__cta{display:inline-flex!important}.hs-toggle{display:none!important}
 .hs-mobile-panel,.hs-mobile-backdrop{display:none!important}
 .hs-menu>li>a{border-bottom:0!important;box-shadow:none;text-decoration:none!important}
}

/* Vrai basculement mobile : le menu desktop ne peut plus chevaucher le logo. */
@media(max-width:1024px){
 .hs-header__shell{padding:0!important}
 .hs-header__inner{width:100%!important;max-width:100%!important;min-height:104px!important;grid-template-columns:minmax(105px,145px) minmax(0,1fr) 58px!important;gap:10px!important;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))!important;border:0!important;border-radius:0!important}
 .hs-nav,.hs-header__cta{display:none!important;visibility:hidden!important;pointer-events:none!important}
 .hs-toggle{position:relative!important;top:auto!important;right:auto!important;display:grid!important;visibility:visible!important;opacity:1!important;justify-self:end!important;z-index:10002!important}
 .hs-logo{height:86px!important;max-width:145px!important}
 .hs-mobile-panel{display:block!important;z-index:10004!important}
 .hs-mobile-backdrop{display:block!important;z-index:10003!important;transition:opacity .3s,visibility .3s}
 .hs-mobile-menu a{text-decoration:none!important;border-bottom:0!important}
 body:not(.helfe-header-overlay) .hs-main{padding-top:0!important}
}

/* Téléphones étroits. */
@media(max-width:600px){
 .hs-header__inner{grid-template-columns:minmax(95px,125px) minmax(0,1fr) 56px!important;min-height:96px!important}
 .hs-logo{height:78px!important;max-width:125px!important}
 .hs-page-hero{padding:55px 0}
 .hs-page-hero h1{font-size:clamp(34px,12vw,52px)}
}

/* Loader à extinction CSS automatique, même sans JS. */
.hs-loader{animation:hsLoaderFailsafe 0s linear 7s forwards}
.hs-loader.is-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@keyframes hsLoaderFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}


/* =========================================================
   HELFE STANDALONE 1.3 — LEGACY SHORTCODE + PAGE TITLES
========================================================= */

/* Le panneau mobile et son bouton de fermeture ne doivent jamais fuiter sur desktop. */
@media (min-width:1025px) {
  .hs-mobile-panel,
  .hs-mobile-backdrop,
  .hs-mobile-close,
  .hs-mobile-panel__head,
  .hs-mobile-panel__logo,
  .hs-mobile-panel__eyebrow,
  .hs-mobile-menu,
  .hs-mobile-cta,
  .hs-mobile-panel__contact {
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* Bandeau titre optionnel et compact. */
.hs-page-hero--compact {
  padding:46px 0 50px!important;
  background:
    radial-gradient(circle at 82% 15%,rgba(65,201,232,.14),transparent 28%),
    linear-gradient(145deg,var(--hs-blue),var(--hs-blue-dark));
}
.hs-page-hero__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  color:#91d7a6;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.hs-page-hero__eyebrow:before {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--hs-green);
  box-shadow:0 0 0 5px rgba(79,174,109,.14);
}
.hs-page-hero--compact h1 {
  max-width:1000px;
  font-size:clamp(34px,4.5vw,62px)!important;
  line-height:1.04;
}

/* Aucun texte de shortcode legacy ne doit réserver une ligne. */
.hs-page-content > p:empty,
.hs-page-content > .wpb_text_column:empty,
.hs-page-content > .wpb_raw_code:empty,
.hs-page-content > .wpb_raw_html:empty {
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}

/* Header toujours au-dessus du contenu mais sans masquer le début des pages. */
body:not(.helfe-header-overlay) .hs-main { padding-top:0!important; }
body:not(.helfe-header-overlay) .hs-header { position:relative!important; }

@media(max-width:1024px) {
  .hs-mobile-close {
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    place-items:center;
  }
  .hs-page-hero--compact { padding:34px 0 38px!important; }
}


/* =========================================================
   HELFE STANDALONE 1.4 — HERO HEADER + RESPONSIVE + POPUP COMPACTE
========================================================= */

/* Navigation : aucun soulignement natif, même sur les états actifs. */
.hs-header a,
.hs-header a:hover,
.hs-header a:focus,
.hs-header a:active,
.hs-menu a,
.hs-mobile-menu a,
.hs-header__cta {
  text-decoration: none !important;
  text-decoration-line: none !important;
  -webkit-text-decoration: none !important;
}

/* Accueil : le header est réellement superposé au slider, sans réserver de hauteur. */
body.helfe-header-overlay .hs-header {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: 10020 !important;
  background: transparent !important;
  pointer-events: none;
}
body.helfe-header-overlay .hs-header__shell,
body.helfe-header-overlay .hs-header__inner,
body.helfe-header-overlay .hs-header a,
body.helfe-header-overlay .hs-header button {
  pointer-events: auto;
}
body.helfe-header-overlay .hs-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.helfe-header-overlay .hs-main > :first-child,
body.helfe-header-overlay .hs-page--front,
body.helfe-header-overlay .hs-page-content,
body.helfe-header-overlay .hs-preset {
  margin-top: 0 !important;
}
body.helfe-header-overlay .hhp-hero,
body.helfe-header-overlay .helfe-premium-slider,
body.helfe-header-overlay .hps-slider,
body.helfe-header-overlay .rev_slider_wrapper {
  margin-top: 0 !important;
}
body.helfe-header-overlay .hhp-hero__inner {
  padding-top: max(185px, calc(var(--hs-header-h) + var(--hs-header-top) + 64px)) !important;
}

/* Barre flottante plus légère et mieux intégrée au hero. */
.hs-header__shell {
  padding: var(--hs-header-top) clamp(14px, 2vw, 30px) 0 !important;
}
.hs-header__inner {
  width: min(100%, 1540px) !important;
  min-height: var(--hs-header-h) !important;
  grid-template-columns: minmax(120px, var(--hs-logo-w)) minmax(0, 1fr) max-content !important;
  gap: clamp(16px, 2vw, 38px) !important;
  padding: 0 clamp(17px, 2vw, 30px) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(0, 78, 105, .62), rgba(0, 40, 63, .73)) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 20px 55px rgba(0, 24, 39, .18) !important;
  backdrop-filter: blur(20px) saturate(1.24) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.24) !important;
}
.hs-header.is-scrolled {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 10030 !important;
}
.admin-bar .hs-header.is-scrolled { top: 32px !important; }
.hs-header.is-scrolled .hs-header__shell { padding-top: 9px !important; }
.hs-header.is-scrolled .hs-header__inner {
  min-height: 76px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(0,59,92,.97), rgba(0,40,63,.98)) !important;
  box-shadow: 0 17px 42px rgba(0,25,40,.30) !important;
}

.hs-nav { min-width: 0 !important; }
.hs-menu {
  max-width: 100%;
  gap: 3px !important;
  padding: 6px !important;
  overflow: visible;
}
.hs-menu > li > a {
  min-height: 42px !important;
  padding-inline: clamp(10px, .9vw, 18px) !important;
  font-size: clamp(9px, .72vw, 11px) !important;
  line-height: 1.1 !important;
  text-align: center;
}
.hs-menu > li > a::after {
  height: 2px !important;
  bottom: 7px !important;
  left: 18% !important;
  right: 18% !important;
}
.hs-header__cta {
  min-height: 54px !important;
  max-width: 260px;
  padding: 12px clamp(16px, 1.6vw, 28px) !important;
  white-space: nowrap;
  font-size: clamp(11px, .88vw, 14px) !important;
}

/* Bouton flottant discret : rond au repos, libellé au survol. */
.hs-floating {
  width: 58px !important;
  height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  overflow: hidden !important;
  padding: 0 17px !important;
  border-radius: 999px !important;
  transition: width .35s cubic-bezier(.2,.75,.25,1), transform .25s, box-shadow .25s !important;
}
.hs-floating__truck { flex: 0 0 auto; font-size: 24px; animation: hsFloatTruck 2.8s ease-in-out infinite; }
.hs-floating__label { flex: 0 0 auto; opacity: 0; white-space: nowrap; transition: opacity .2s .08s; }
.hs-floating:hover,
.hs-floating:focus-visible { width: min(290px, calc(100vw - 44px)) !important; transform: translateY(-3px); }
.hs-floating:hover .hs-floating__label,
.hs-floating:focus-visible .hs-floating__label { opacity: 1; }
@keyframes hsFloatTruck { 0%,100%{transform:translateY(0)} 45%{transform:translateY(-4px)} 60%{transform:translateY(0)} }

/* Popup SaaS compacte. */
.hs-popup { padding: 22px !important; }
.hs-popup__dialog {
  width: min(100%, 470px) !important;
  max-height: min(88vh, 680px) !important;
  overflow: auto !important;
  padding: 28px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(79,174,109,.27), transparent 31%),
    linear-gradient(145deg, rgba(0,59,92,.99), rgba(0,40,63,.99)) !important;
  box-shadow: 0 32px 85px rgba(0,20,34,.42) !important;
  transform: translateY(16px) scale(.97);
  transition: transform .42s cubic-bezier(.2,.85,.25,1.15) !important;
}
.hs-popup.is-open .hs-popup__dialog { transform: none; }
.hs-popup__visual { height: 125px !important; margin: -5px 0 10px !important; }
.hs-popup__truck-wrap { transform: scale(.78); transform-origin: center bottom; }
.hs-popup__dialog h2 {
  margin: 12px 45px 0 0 !important;
  font-size: clamp(29px, 3.1vw, 39px) !important;
  line-height: 1.03 !important;
}
.hs-popup__dialog p { margin: 14px 0 0 !important; font-size: 15px !important; line-height: 1.55 !important; }
.hs-popup__actions { margin-top: 20px !important; gap: 9px !important; }
.hs-popup__actions a { min-height: 51px !important; padding: 12px 17px !important; }
.hs-popup__close { top: 14px !important; right: 14px !important; }

/* Breakpoint large : passage anticipé au menu mobile pour éviter tout débordement. */
@media (max-width: 1180px) {
  .hs-nav,
  .hs-header__cta { display: none !important; }
  .hs-toggle {
    display: block !important;
    justify-self: end !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 50% !important;
    background: rgba(0,59,92,.72) !important;
    box-shadow: 0 12px 28px rgba(0,24,39,.18) !important;
  }
  .hs-header__inner {
    grid-template-columns: minmax(115px, min(var(--hs-logo-w), 185px)) minmax(0,1fr) 58px !important;
  }
  .hs-mobile-panel { display: block !important; }
  .hs-mobile-backdrop { display: block !important; }
}

/* Tablette et mobile : header overlay compact et panneau réellement responsive. */
@media (max-width: 900px) {
  :root { --hs-header-top: 8px; }
  .hs-header__shell { padding: 8px 10px 0 !important; }
  .hs-header__inner {
    width: 100% !important;
    min-height: 92px !important;
    grid-template-columns: minmax(105px, 148px) minmax(0,1fr) 56px !important;
    gap: 10px !important;
    padding: 0 14px !important;
    border-radius: 24px !important;
  }
  .hs-logo { height: 78px !important; }
  .hs-header.is-scrolled .hs-header__inner { min-height: 72px !important; }
  .hs-header.is-scrolled .hs-logo { height: 61px !important; }
  body.helfe-header-overlay .hhp-hero__inner {
    padding-top: 145px !important;
  }
  .hs-mobile-panel {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: min(88vw, 470px) !important;
    max-width: none !important;
    padding: max(24px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom)) !important;
    border-radius: 28px 0 0 28px !important;
    overflow-y: auto !important;
  }
  .hs-mobile-menu > li > a {
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 7px 0 !important;
    padding: 13px 16px !important;
    text-decoration: none !important;
  }
  .hs-mobile-menu > li > a::after { content: "→"; color: var(--hs-cyan); }
  .hs-popup {
    align-items: end !important;
    padding: 10px !important;
  }
  .hs-popup__dialog {
    width: 100% !important;
    max-height: min(84vh, 620px) !important;
    padding: 24px 20px max(22px, env(safe-area-inset-bottom)) !important;
    border-radius: 26px 26px 18px 18px !important;
    transform: translateY(110%) !important;
  }
  .hs-popup.is-open .hs-popup__dialog { transform: none !important; }
  .hs-popup__visual { height: 100px !important; }
  .hs-popup__truck-wrap { transform: scale(.65); }
  .hs-popup__dialog h2 { font-size: clamp(27px, 8vw, 36px) !important; }
  .hs-floating {
    width: 56px !important;
    height: 56px !important;
    right: 15px !important;
    bottom: max(15px, env(safe-area-inset-bottom)) !important;
    padding: 0 16px !important;
  }
  .hs-floating:hover,
  .hs-floating:focus-visible { width: 56px !important; }
  .hs-floating__label { display: none !important; }
}

@media (max-width: 480px) {
  .hs-header__inner { grid-template-columns: 118px minmax(0,1fr) 54px !important; }
  .hs-logo { height: 72px !important; }
  .hs-mobile-panel { width: calc(100vw - 18px) !important; }
}


/* =========================================================
   HELFE STANDALONE 1.5 — STABILISATION HEADER / HERO
========================================================= */

/* Sécurité globale contre les débordements horizontaux. */
html,
body,
.hs-site,
.hs-main,
.hs-page-content {
    width: 100%;
    max-width: 100%;
    overflow-x: clip !important;
}

/* Le header reste toujours contenu dans la largeur visible. */
.hs-header {
    box-sizing: border-box !important;
    margin: 0 !important;
}

.hs-header__shell {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Accueil : barre vitrée superposée, plus fine et sans débordement. */
body.helfe-header-overlay .hs-header {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    background: transparent !important;
}

body.admin-bar.helfe-header-overlay .hs-header {
    top: 32px !important;
}

body.helfe-header-overlay .hs-header__shell {
    padding: 12px clamp(14px, 1.7vw, 28px) 0 !important;
}

body.helfe-header-overlay .hs-header__inner {
    width: min(calc(100vw - clamp(28px, 3.4vw, 56px)), 1600px) !important;
    max-width: 1600px !important;
    min-height: 86px !important;
    grid-template-columns:
        minmax(112px, min(var(--hs-logo-w), 170px))
        minmax(0, 1fr)
        minmax(185px, 235px) !important;
    gap: clamp(12px, 1.45vw, 25px) !important;
    margin: 0 auto !important;
    padding: 0 clamp(15px, 1.5vw, 24px) !important;
    border-radius: 26px !important;
    box-sizing: border-box !important;
}

body.helfe-header-overlay .hs-logo {
    height: 70px !important;
}

body.helfe-header-overlay .hs-nav {
    min-width: 0 !important;
    overflow: hidden !important;
}

body.helfe-header-overlay .hs-menu {
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 4px !important;
    gap: 1px !important;
    border-color: rgba(255,255,255,.11) !important;
    background: rgba(255,255,255,.055) !important;
}

body.helfe-header-overlay .hs-menu > li > a {
    min-height: 38px !important;
    padding-inline: clamp(9px, .75vw, 15px) !important;
    font-size: clamp(9px, .67vw, 11px) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.helfe-header-overlay .hs-header__cta {
    width: 100% !important;
    max-width: 235px !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 11px 15px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: clamp(10px, .75vw, 13px) !important;
}

/* Au scroll : header compact, sans saut de mise en page. */
.hs-header.is-scrolled {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
}

.admin-bar .hs-header.is-scrolled {
    top: 32px !important;
}

.hs-header.is-scrolled .hs-header__shell {
    padding: 7px clamp(12px, 1.5vw, 24px) 0 !important;
}

.hs-header.is-scrolled .hs-header__inner {
    width: min(calc(100vw - clamp(24px, 3vw, 48px)), 1540px) !important;
    min-height: 70px !important;
    border-radius: 20px !important;
}

.hs-header.is-scrolled .hs-logo {
    height: 57px !important;
}

/* Pages internes : aucune bande blanche ou marge au-dessus du header. */
body:not(.helfe-header-overlay) .hs-header {
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    background: linear-gradient(135deg, var(--hs-blue), var(--hs-blue-dark)) !important;
    box-shadow: 0 10px 30px rgba(0,28,44,.14) !important;
}

body.admin-bar:not(.helfe-header-overlay) .hs-header {
    top: 32px !important;
}

body:not(.helfe-header-overlay) .hs-header__shell {
    padding: 8px clamp(14px, 1.7vw, 28px) !important;
}

body:not(.helfe-header-overlay) .hs-header__inner {
    width: min(calc(100vw - clamp(28px, 3.4vw, 56px)), 1600px) !important;
    min-height: 82px !important;
    grid-template-columns:
        minmax(112px, min(var(--hs-logo-w), 170px))
        minmax(0, 1fr)
        minmax(185px, 235px) !important;
    gap: clamp(12px, 1.45vw, 25px) !important;
    margin: 0 auto !important;
    padding: 0 clamp(15px, 1.5vw, 24px) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(135deg, rgba(0,79,105,.76), rgba(0,40,63,.92)) !important;
}

body:not(.helfe-header-overlay) .hs-logo {
    height: 67px !important;
}

body:not(.helfe-header-overlay) .hs-main {
    margin: 0 !important;
    padding: 0 !important;
}

/* Le premier bloc des pages internes commence immédiatement après le header. */
body:not(.helfe-header-overlay) .hs-page-content,
body:not(.helfe-header-overlay) .hs-page-content > :first-child,
body:not(.helfe-header-overlay) .entry-content,
body:not(.helfe-header-overlay) .entry-content > :first-child {
    margin-top: 0 !important;
}

/* Hero d’accueil : typographie mieux proportionnée sur desktop. */
body.helfe-header-overlay .hhp-hero {
    min-height: max(760px, 100svh) !important;
}

body.helfe-header-overlay .hhp-hero__inner {
    padding-top: clamp(150px, 13vh, 190px) !important;
}

body.helfe-header-overlay .hhp-hero h1 {
    max-width: 1020px !important;
    font-size: clamp(52px, 5vw, 86px) !important;
    line-height: .97 !important;
    letter-spacing: -3px !important;
}

body.helfe-header-overlay .hhp-hero__card {
    max-width: 430px !important;
    justify-self: end !important;
}

/* Bouton flottant : ne recouvre plus les cartes importantes. */
.hs-floating {
    right: clamp(16px, 1.6vw, 28px) !important;
    bottom: clamp(18px, 2vw, 30px) !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 15px !important;
}

.hs-floating:hover,
.hs-floating:focus-visible {
    width: min(255px, calc(100vw - 38px)) !important;
}

/* Popup encore plus compacte et confortable. */
.hs-popup__dialog {
    width: min(calc(100vw - 32px), 430px) !important;
    max-height: min(86vh, 610px) !important;
    padding: 24px !important;
}

.hs-popup__visual {
    height: 105px !important;
}

.hs-popup__truck-wrap {
    transform: scale(.68) !important;
}

.hs-popup__dialog h2 {
    margin-right: 42px !important;
    font-size: clamp(27px, 2.7vw, 35px) !important;
}

.hs-popup__dialog p {
    font-size: 14px !important;
}

/* Passage au mobile avant tout risque de chevauchement. */
@media (max-width: 1320px) {
    .hs-nav,
    .hs-header__cta {
        display: none !important;
    }

    .hs-toggle {
        display: grid !important;
        place-items: center !important;
        justify-self: end !important;
    }

    .hs-header__inner,
    body.helfe-header-overlay .hs-header__inner,
    body:not(.helfe-header-overlay) .hs-header__inner {
        grid-template-columns:
            minmax(110px, min(var(--hs-logo-w), 170px))
            minmax(0, 1fr)
            56px !important;
    }

    .hs-mobile-panel,
    .hs-mobile-backdrop {
        display: block !important;
    }
}

@media (max-width: 900px) {
    body.admin-bar.helfe-header-overlay .hs-header,
    body.admin-bar:not(.helfe-header-overlay) .hs-header,
    .admin-bar .hs-header.is-scrolled {
        top: 46px !important;
    }

    body.helfe-header-overlay .hs-header__shell,
    body:not(.helfe-header-overlay) .hs-header__shell,
    .hs-header.is-scrolled .hs-header__shell {
        padding: 7px 8px 0 !important;
    }

    .hs-header__inner,
    body.helfe-header-overlay .hs-header__inner,
    body:not(.helfe-header-overlay) .hs-header__inner {
        width: 100% !important;
        min-height: 82px !important;
        grid-template-columns: 118px minmax(0, 1fr) 54px !important;
        padding: 0 13px !important;
        border-radius: 21px !important;
    }

    .hs-logo,
    body.helfe-header-overlay .hs-logo,
    body:not(.helfe-header-overlay) .hs-logo {
        height: 68px !important;
    }

    .hs-header.is-scrolled .hs-header__inner {
        min-height: 67px !important;
    }

    .hs-header.is-scrolled .hs-logo {
        height: 55px !important;
    }

    body.helfe-header-overlay .hhp-hero__inner {
        padding-top: 130px !important;
    }

    body.helfe-header-overlay .hhp-hero h1 {
        font-size: clamp(40px, 12.5vw, 60px) !important;
        letter-spacing: -2px !important;
    }

    .hs-popup {
        padding: 8px !important;
    }

    .hs-popup__dialog {
        width: 100% !important;
        max-height: 82svh !important;
        padding: 21px 18px max(19px, env(safe-area-inset-bottom)) !important;
    }

    .hs-popup__visual {
        height: 82px !important;
    }

    .hs-popup__truck-wrap {
        transform: scale(.55) !important;
    }
}

/* Aucun soulignement natif ou hérité dans les menus. */
.hs-menu a,
.hs-mobile-menu a,
.hs-header__cta,
.hs-mobile-cta {
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: 0 !important;
}


/* =========================================================
   HELFE STANDALONE 1.6 — DESKTOP NAV + MOBILE PANEL ALIGNMENT
========================================================= */

/* Desktop réel : la navigation et le CTA restent visibles. */
@media (min-width: 1181px) {
    .hs-nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        min-width: 0 !important;
    }

    .hs-header__cta {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .hs-toggle,
    .hs-mobile-panel,
    .hs-mobile-backdrop {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .hs-header__inner,
    body.helfe-header-overlay .hs-header__inner,
    body:not(.helfe-header-overlay) .hs-header__inner {
        grid-template-columns:
            minmax(112px, min(var(--hs-logo-w), 170px))
            minmax(0, 1fr)
            minmax(180px, 225px) !important;
    }
}

/* Tablette et mobile : bascule contrôlée uniquement sous 1181 px. */
@media (max-width: 1180px) {
    .hs-nav,
    .hs-header__cta {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .hs-toggle {
        position: relative !important;
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        place-items: center !important;
        justify-self: end !important;
    }

    .hs-header__inner,
    body.helfe-header-overlay .hs-header__inner,
    body:not(.helfe-header-overlay) .hs-header__inner {
        grid-template-columns:
            minmax(105px, min(var(--hs-logo-w), 165px))
            minmax(0, 1fr)
            56px !important;
    }

    .hs-mobile-backdrop {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .hs-mobile-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: min(92vw, 500px) !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding:
            max(22px, env(safe-area-inset-top))
            max(18px, env(safe-area-inset-right))
            max(28px, env(safe-area-inset-bottom))
            max(18px, env(safe-area-inset-left)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
        border-radius: 28px 0 0 28px !important;
        transform: translate3d(105%, 0, 0) !important;
    }

    .hs-mobile-panel.is-open {
        transform: translate3d(0, 0, 0) !important;
    }

    .hs-mobile-panel__head,
    .hs-mobile-menu,
    .hs-mobile-menu > li,
    .hs-mobile-menu a,
    .hs-mobile-cta,
    .hs-mobile-panel__contact,
    .hs-mobile-panel__contact a {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    .hs-mobile-panel__eyebrow {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 600px) {
    .hs-mobile-panel {
        right: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
    }

    .hs-mobile-menu a {
        min-height: 72px !important;
        padding: 16px 18px !important;
    }

    .hs-mobile-panel__contact a {
        overflow-wrap: anywhere !important;
    }
}

html.hs-menu-lock,
html.hs-menu-lock body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}


/* =========================================================
   HELFE STANDALONE 1.7 — HERO COLLÉ EN HAUT SUR L’ACCUEIL
========================================================= */

/* Supprime toute réserve verticale avant le slider sur l’accueil. */
body.home,
body.front-page,
body.helfe-header-overlay {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.helfe-header-overlay .hs-site,
body.helfe-header-overlay .hs-main,
body.helfe-header-overlay .hs-page-content,
body.helfe-header-overlay .entry-content,
body.helfe-header-overlay .wpb-content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Le premier bloc de l’accueil commence exactement au bord supérieur. */
body.helfe-header-overlay .hs-main > :first-child,
body.helfe-header-overlay .hs-page-content > :first-child,
body.helfe-header-overlay .entry-content > :first-child,
body.helfe-header-overlay .wpb-content-wrapper > :first-child,
body.helfe-header-overlay .hhp-home,
body.helfe-header-overlay .hhp-hero {
    margin-top: 0 !important;
    padding-top: 0;
}

/* Neutralise les éventuelles marges WPBakery au-dessus du hero. */
body.helfe-header-overlay .vc_row:first-child,
body.helfe-header-overlay .wpb_row:first-child,
body.helfe-header-overlay .vc_column_container:first-child,
body.helfe-header-overlay .vc_column-inner:first-child,
body.helfe-header-overlay .wpb_wrapper:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Le header reste superposé sans créer d’espace dans le flux. */
body.helfe-header-overlay .hs-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    transform: none !important;
}

body.admin-bar.helfe-header-overlay .hs-header {
    top: 32px !important;
}

/* Le hero remonte sous le header et occupe tout le haut de la page. */
body.helfe-header-overlay .hhp-hero {
    position: relative !important;
    top: 0 !important;
    min-height: max(760px, 100svh) !important;
    margin: 0 !important;
}

/* Supprime les pseudo-éléments ou bandes générées avant le contenu. */
body.helfe-header-overlay .hs-main::before,
body.helfe-header-overlay .hs-page-content::before,
body.helfe-header-overlay .entry-content::before {
    display: none !important;
    content: none !important;
}

@media (max-width: 900px) {
    body.admin-bar.helfe-header-overlay .hs-header {
        top: 46px !important;
    }
}


/* =========================================================
   HELFE STANDALONE 1.8 — SUPPRESSION RÉELLE DE LA BANDE HAUTE
========================================================= */

/*
 * WordPress déplace déjà tout le document sous la barre d’administration
 * avec une marge sur <html>. Il ne faut donc jamais ajouter 32/46 px
 * supplémentaires au header.
 */
body.helfe-header-overlay .hs-header,
body.admin-bar.helfe-header-overlay .hs-header,
body.helfe-header-overlay .hs-header.is-scrolled,
body.admin-bar.helfe-header-overlay .hs-header.is-scrolled {
    top: 0 !important;
}

/* Aucune réserve transparente au-dessus de la barre flottante. */
body.helfe-header-overlay .hs-header__shell,
body.admin-bar.helfe-header-overlay .hs-header__shell {
    padding-top: 0 !important;
}

/*
 * Le slider commence immédiatement au sommet du document.
 * Le header reste posé par-dessus, sans occuper de place dans le flux.
 */
body.helfe-header-overlay .hs-site,
body.helfe-header-overlay .hs-main,
body.helfe-header-overlay .hs-page,
body.helfe-header-overlay .hs-page--front,
body.helfe-header-overlay .hs-page-content,
body.helfe-header-overlay .entry-content,
body.helfe-header-overlay .wpb-content-wrapper,
body.helfe-header-overlay .hs-preset,
body.helfe-header-overlay .hhp-home,
body.helfe-header-overlay .hhp-hero {
    position: relative;
    top: auto !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Neutralise les wrappers WPBakery susceptibles de réserver une première ligne. */
body.helfe-header-overlay .hs-page-content > .vc_row:first-child,
body.helfe-header-overlay .hs-page-content > .wpb_row:first-child,
body.helfe-header-overlay .entry-content > .vc_row:first-child,
body.helfe-header-overlay .entry-content > .wpb_row:first-child,
body.helfe-header-overlay .wpb-content-wrapper > .vc_row:first-child,
body.helfe-header-overlay .wpb-content-wrapper > .wpb_row:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Fond de sécurité : aucune bande blanche ne peut apparaître derrière le header. */
body.helfe-header-overlay,
body.helfe-header-overlay .hs-site,
body.helfe-header-overlay .hs-main {
    background-color: #00283f !important;
}

/*
 * La barre garde un léger retrait visuel interne, mais ce retrait est désormais
 * rempli par le slider placé derrière et non par un espace blanc.
 */
body.helfe-header-overlay .hs-header__inner {
    margin-top: 10px !important;
}

/* Le hero couvre réellement toute la largeur et toute la première vue. */
body.helfe-header-overlay .hhp-hero {
    width: 100vw !important;
    max-width: none !important;
    min-height: 100svh !important;
    margin-left: calc(50% - 50vw) !important;
    border: 0 !important;
}

/* Le média vidéo remplit aussi la zone supérieure. */
body.helfe-header-overlay .hhp-hero__media,
body.helfe-header-overlay .hhp-hero__video,
body.helfe-header-overlay .hhp-hero__overlay,
body.helfe-header-overlay .hhp-hero__mesh {
    top: 0 !important;
    height: 100% !important;
}

@media (max-width: 900px) {
    body.helfe-header-overlay .hs-header__inner {
        margin-top: 7px !important;
    }

    body.helfe-header-overlay .hhp-hero {
        min-height: 100svh !important;
    }
}


/* =========================================================
   HELFE STANDALONE 1.9 — LOADER THREE.JS PERSONNALISABLE
========================================================= */
.hs-loader {
    --loader-accent: var(--hs-loader-accent, #41c9e8);
    --loader-green: var(--hs-loader-green, #4fae6d);
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 70% 25%, color-mix(in srgb, var(--loader-accent) 20%, transparent), transparent 34%),
        radial-gradient(circle at 25% 76%, color-mix(in srgb, var(--loader-green) 18%, transparent), transparent 38%),
        linear-gradient(145deg, var(--hs-blue), var(--hs-blue-dark));
}

.hs-loader__three,
.hs-loader__aurora,
.hs-loader__grid {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.hs-loader__three {
    z-index: -1;
    opacity: .9;
}

.hs-loader__aurora {
    z-index: -2;
    background:
        radial-gradient(ellipse at 30% 20%, rgba(65,201,232,.2), transparent 42%),
        radial-gradient(ellipse at 75% 72%, rgba(79,174,109,.19), transparent 40%);
    filter: blur(24px);
    animation: hsLoaderAurora 5s ease-in-out infinite alternate;
}

.hs-loader__grid {
    z-index: -1;
    opacity: .16;
    background:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, transparent, #000 32%, #000 80%, transparent);
    transform: perspective(500px) rotateX(61deg) translateY(44%);
    transform-origin: center bottom;
    animation: hsLoaderGrid 4s linear infinite;
}

.hs-loader__content {
    position: relative;
    z-index: 3;
    width: min(90vw, 680px);
    text-align: center;
}

.hs-loader__logo {
    width: min(var(--hs-loader-logo-size), 78vw) !important;
    height: min(calc(var(--hs-loader-logo-size) * .48), 190px) !important;
    display: grid;
    place-items: center;
    margin: 0 auto 20px !important;
    overflow: visible !important;
    filter: drop-shadow(0 18px 28px rgba(0,0,0,.24));
    animation: hsLoaderLogoFloat 2.6s ease-in-out infinite;
}

.hs-loader__logo > a,
.hs-loader__logo img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
}

.hs-loader__road {
    position: relative;
    height: clamp(105px, 18vh, 150px);
    margin: 0 auto 16px;
    overflow: hidden;
    border-bottom: 2px solid rgba(255,255,255,.17);
}

.hs-loader__road::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 18px;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--loader-accent), var(--loader-green), transparent);
    box-shadow: 0 0 22px var(--loader-accent);
}

.hs-loader__road > i {
    position: absolute;
    bottom: 3px;
    width: 90px;
    height: 5px;
    border-radius: 99px;
    background: rgba(255,255,255,.3);
    animation: hsLoaderLane 1.15s linear infinite;
}
.hs-loader__road > i:nth-child(1){left:8%}
.hs-loader__road > i:nth-child(2){left:44%;animation-delay:-.38s}
.hs-loader__road > i:nth-child(3){left:80%;animation-delay:-.75s}

.hs-loader__truck {
    position: absolute;
    z-index: 3;
    bottom: 20px;
    left: calc(50% - min(var(--hs-loader-truck-size), 70vw) / 2);
    width: min(var(--hs-loader-truck-size), 70vw);
    height: min(calc(var(--hs-loader-truck-size) * .58), 160px);
    display: grid;
    place-items: end center;
    transform-origin: 50% 100%;
    animation:
        hsLoaderTruckDrive 1.6s cubic-bezier(.2,.75,.2,1) both,
        hsLoaderTruckBounce .52s ease-in-out .5s infinite alternate;
    filter: drop-shadow(0 18px 16px rgba(0,0,0,.38));
}

.hs-loader__truck img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center bottom;
    user-select: none;
}

.hs-loader__truck span {
    font-size: min(calc(var(--hs-loader-truck-size) * .34), 78px);
}

.hs-loader__bar {
    width: min(78vw, 560px) !important;
    height: 7px !important;
    margin: 0 auto 12px !important;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.1) !important;
    box-shadow: inset 0 1px 5px rgba(0,0,0,.22);
}

.hs-loader__bar span {
    background: linear-gradient(90deg, var(--loader-green), var(--loader-accent), #fff, var(--loader-accent)) !important;
    background-size: 220% 100% !important;
    box-shadow: 0 0 24px var(--loader-accent);
    animation:
        hsLoad var(--hs-loader-duration, 1.8s) ease forwards,
        hsLoaderBarGlow 1s linear infinite !important;
}

.hs-loader__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(78vw, 560px);
    margin: auto;
}

.hs-loader__meta small {
    margin: 0 !important;
    color: rgba(255,255,255,.62);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.hs-loader__meta b {
    color: #fff;
    font-size: 12px;
}

@keyframes hsLoaderAurora {
    to { transform: translate3d(4%, -3%, 0) scale(1.15); }
}
@keyframes hsLoaderGrid {
    to { background-position: 0 56px, 56px 0; }
}
@keyframes hsLoaderLogoFloat {
    50% { transform: translateY(-9px) scale(1.02); filter: drop-shadow(0 28px 34px rgba(65,201,232,.22)); }
}
@keyframes hsLoaderTruckDrive {
    from { transform: translateX(-68vw) scale(.86); opacity: 0; }
    55% { opacity: 1; }
    to { transform: translateX(0) scale(1); opacity: 1; }
}
@keyframes hsLoaderTruckBounce {
    to { transform: translateY(-5px) rotate(-.6deg); }
}
@keyframes hsLoaderLane {
    from { transform: translateX(100vw); }
    to { transform: translateX(-120vw); }
}
@keyframes hsLoaderBarGlow {
    to { background-position: -220% 0; }
}

@media (max-width: 700px) {
    .hs-loader__content { width: calc(100% - 28px); }
    .hs-loader__logo {
        width: min(var(--hs-loader-logo-size), 82vw) !important;
        height: min(calc(var(--hs-loader-logo-size) * .45), 145px) !important;
    }
    .hs-loader__road { height: 115px; }
    .hs-loader__truck {
        width: min(var(--hs-loader-truck-size), 76vw);
        left: calc(50% - min(var(--hs-loader-truck-size), 76vw) / 2);
    }
    .hs-loader__meta { align-items: flex-end; gap: 12px; }
    .hs-loader__meta small { max-width: 78%; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    .hs-loader__aurora,
    .hs-loader__grid,
    .hs-loader__logo,
    .hs-loader__truck,
    .hs-loader__road > i {
        animation: none !important;
    }
}
