/* OFF ZE WALL — V3 : navigation, hero multi-effets, quatre survols. */
/* Taille de marque volontairement +50 % sur grand desktop (170 -> 255 px). */
.site-header{height:151px;overflow:visible}
.site-header.scrolled{height:124px}
.nav-inner{gap:16px}
.site-brand,.site-header .site-brand{width:255px;min-width:255px;align-self:center;flex:none;overflow:visible}
.site-brand img,.site-header .site-brand img{display:block;width:255px;height:auto;max-width:none;object-fit:contain;transition:width .25s ease;filter:none}
.site-header.scrolled .site-brand,.site-header.scrolled .site-brand img{width:208px;min-width:208px;height:auto}
.primary-nav{gap:clamp(12px,1.18vw,23px)}
.nav-link-custom,.nav-dropdown-toggle{font-family:'Segoe UI',Tahoma,Arial,sans-serif!important;font-size:18px;font-weight:650;letter-spacing:-.012em;text-transform:none;line-height:1.25;padding:16px 0}
.nav-dropdown-toggle{color:#fff;min-height:55px}
.nav-dropdown-menu{
 top:100%;left:-16px;min-width:290px;padding:9px 0;
 transform:translateY(-4px);border-top:3px solid var(--pink);
}
.nav-dropdown-menu a{font-family:'Segoe UI',Tahoma,Arial,sans-serif;font-size:16px;font-weight:600;padding:13px 18px}
/* Zone tampon invisible : passer de la commande au menu sans perdre le survol. */
.nav-dropdown-menu::before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}
.header-cta{font-family:'Segoe UI',Tahoma,Arial,sans-serif;font-weight:750;font-size:16px;white-space:nowrap;min-height:55px;line-height:1.2;padding:14px 19px}
.header-cta .cta-label-mobile{display:none}
.header-cta .cta-arrow{display:inline;font-size:21px;line-height:1;margin-left:0}
/* Slider : Canvas de vraie pixellisation, deux autres animations pilotées par JS. */
.hero-image,.hero-image.is-active{transition:none!important;transform:translate3d(0,0,0) scale(1.04)}
.hero-image{opacity:0;will-change:transform,opacity}
.hero-image.is-active{opacity:1}
.hero-pixel-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:5;display:none;pointer-events:none}
.hero-pixel-canvas.is-visible{display:block}
.hero-actions .btn-ozw{font-size:1.08rem}
/* Ticker : les mots seuls, plus de signes ou petites icônes. */
.energy-ticker-stage>span{gap:0}
/* Comparatif sur les quatre cartes. */
.value-card{position:relative;transform:translate3d(0,0,0);transform-origin:center;will-change:transform;outline-offset:4px;transition:background .2s,border-color .2s,box-shadow .2s}
.value-card:hover,.value-card:focus-visible{background:rgba(33,33,43,.9);border-color:rgba(255,255,255,.65);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.value-card .hover-effect-label{display:inline-block;position:absolute;top:20px;right:14px;font:750 .63rem/1.1 'Segoe UI',Arial,sans-serif;letter-spacing:.055em;color:#b5b5c1;border:1px solid rgba(255,255,255,.26);padding:6px 7px;white-space:nowrap}
.value-card .value-icon{margin-top:28px}
.value-card.fx-punch:hover,.value-card.fx-punch:focus-visible{animation:ozw-punch .38s ease-out both}
@keyframes ozw-punch{0%{transform:scale(1)}40%{transform:scale(1.105)}76%{transform:scale(1.022)}100%{transform:scale(1.045)}}
.value-card.fx-elastic:hover,.value-card.fx-elastic:focus-visible{animation:ozw-elastic .5s cubic-bezier(.2,.8,.3,1) both}
@keyframes ozw-elastic{0%{transform:scale(1)}30%{transform:scale(.91)}65%{transform:scale(1.105)}85%{transform:scale(.99)}100%{transform:scale(1.045)}}
.value-card.fx-tilt:hover,.value-card.fx-tilt:focus-visible{animation:ozw-tilt .45s ease-out both}
@keyframes ozw-tilt{0%{transform:perspective(650px) rotateY(0) scale(1)}60%{transform:perspective(650px) rotateY(-13deg) rotateX(4deg) scale(1.08)}100%{transform:perspective(650px) rotateY(-8deg) rotateX(2deg) scale(1.045)}}
.value-card.fx-bounce:hover,.value-card.fx-bounce:focus-visible{animation:ozw-bounce .55s ease-out both}
@keyframes ozw-bounce{0%{transform:translateY(0) scale(1)}38%{transform:translateY(-22px) scale(1.08)}64%{transform:translateY(4px) scale(1.015)}85%{transform:translateY(-9px) scale(1.045)}100%{transform:translateY(-7px) scale(1.04)}}
/* Retirer totalement l'étoile décorative sous le texte de contact. */
.contact-smile{display:none!important}
/* Logo du footer : plus de marges négatives ni de collision avec le texte. */
.footer-main{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.8fr) minmax(0,1fr);gap:26px}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.footer-brand img,.site-footer .footer-brand img{display:block;flex:none;width:min(240px,100%);height:auto;margin:0 0 22px 0;max-width:100%;object-fit:contain}
.footer-brand p{position:static;display:block;clear:both;margin:0 0 22px;max-width:270px;line-height:1.7}
.footer-talk a{white-space:nowrap}
@media(max-width:1399px) and (min-width:1200px){
 .site-header{height:130px}.site-header.scrolled{height:108px}
 .site-brand,.site-header .site-brand{width:210px;min-width:210px}
 .site-brand img,.site-header .site-brand img{width:210px}
 .site-header.scrolled .site-brand,.site-header.scrolled .site-brand img{width:185px;min-width:185px}
 .nav-link-custom,.nav-dropdown-toggle{font-size:17px}
 .primary-nav{gap:13px}.header-cta{font-size:14px;padding:12px 13px}
}
@media(max-width:1199px){
 .site-header,.site-header.scrolled{height:110px}
 .site-brand,.site-header .site-brand,.site-header.scrolled .site-brand{width:185px;min-width:185px}
 .site-brand img,.site-header .site-brand img,.site-header.scrolled .site-brand img{width:185px;height:auto;min-width:0}
 .primary-nav,.site-header.scrolled .primary-nav{top:110px;height:calc(100dvh - 110px);z-index:106}
 .nav-link-custom,.nav-dropdown-toggle{font-size:23px!important;min-height:0;padding:18px 0;font-weight:650;width:100%;border-bottom:1px solid #414145}
 .nav-dropdown-menu{position:static;top:auto;left:auto;min-width:0;border:0;padding:0 0 0 12px;margin:0;display:none!important;opacity:1;visibility:visible;transform:none;box-shadow:none;pointer-events:auto}
 .nav-dropdown.is-open .nav-dropdown-menu{display:block!important}
 .nav-dropdown-menu::before{display:none}
 .nav-dropdown-menu a{font-size:17px;padding:15px}
 .header-cta{margin-left:auto;min-height:52px;padding:12px 16px;font-size:15px}
 .footer-main{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-brand{grid-column:1/-1}
 .value-card .hover-effect-label{font-size:.62rem}
}
@media(max-width:575px){
 .site-header,.site-header.scrolled{height:106px}
 .site-brand,.site-header .site-brand,.site-header.scrolled .site-brand{width:175px;min-width:175px}
 .site-brand img,.site-header .site-brand img,.site-header.scrolled .site-brand img{width:175px;height:auto}
 .primary-nav,.site-header.scrolled .primary-nav{top:106px;height:calc(100dvh - 106px)}
 .header-cta{min-height:44px;max-width:none;padding:10px 11px;font-size:14px}
 .header-cta .cta-label-desktop{display:none}
 .header-cta .cta-label-mobile{display:inline}
 .header-cta .cta-arrow{display:none}
 .footer-brand img,.site-footer .footer-brand img{width:225px;max-width:100%;margin:0 0 18px}
 .value-card .hover-effect-label{top:18px}
}
@media(max-width:375px){
 .site-brand,.site-header .site-brand,.site-header.scrolled .site-brand{width:157px;min-width:157px}
 .site-brand img,.site-header .site-brand img,.site-header.scrolled .site-brand img{width:157px}
 .header-cta{font-size:12px;padding:10px 8px}
}
@media(max-width:359px){.header-cta{display:none}}
@media(prefers-reduced-motion:reduce){
 .value-card.fx-punch:hover,.value-card.fx-elastic:hover,.value-card.fx-tilt:hover,.value-card.fx-bounce:hover,
 .value-card.fx-punch:focus-visible,.value-card.fx-elastic:focus-visible,.value-card.fx-tilt:focus-visible,.value-card.fx-bounce:focus-visible{animation:none;transform:none}
}

/* Ajustements finaux : 50% de taille de logo y compris sur téléphone, sous-menu net et sans débordement. */
.concept-section .row,.contact-section .row{margin-left:0;margin-right:0}
@media(max-width:1199px){
 .site-header,.site-header.scrolled{height:142px}
 .site-brand,.site-header .site-brand,.site-header.scrolled .site-brand{width:240px;min-width:240px}
 .site-brand img,.site-header .site-brand img,.site-header.scrolled .site-brand img{width:240px;height:auto}
 .primary-nav,.site-header.scrolled .primary-nav{top:142px;height:calc(100dvh - 142px)}
}
@media(max-width:575px){
 .site-header,.site-header.scrolled{height:126px}
 .nav-inner{gap:7px}
 .site-brand,.site-header .site-brand,.site-header.scrolled .site-brand{width:210px;min-width:210px}
 .site-brand img,.site-header .site-brand img,.site-header.scrolled .site-brand img{width:210px;height:auto}
 .primary-nav,.site-header.scrolled .primary-nav{top:126px;height:calc(100dvh - 126px)}
 .header-cta{font-size:14px;padding:10px 13px;min-height:44px;flex:none}
 .menu-toggle{width:42px;flex:none}
}
@media(max-width:359px){
 .site-header,.site-header.scrolled{height:112px}
 .site-brand,.site-header .site-brand,.site-header.scrolled .site-brand{width:182px;min-width:182px}
 .site-brand img,.site-header .site-brand img,.site-header.scrolled .site-brand img{width:182px;height:auto}
 .primary-nav,.site-header.scrolled .primary-nav{top:112px;height:calc(100dvh - 112px)}
}
