/* OFF ZE WALL — V2 : design plus lisible, mouvements plus francs, menus et vidéos. */
:root{--heading:'Arial Narrow','Roboto Condensed','Helvetica Neue',Arial,sans-serif}
.display-heading{font-family:var(--heading);font-weight:800;letter-spacing:-.045em;line-height:1.025;font-size:clamp(3rem,5.1vw,5.05rem);text-transform:uppercase}
.hero h1{font-family:var(--heading);font-weight:850;letter-spacing:-.05em;line-height:.91;font-size:clamp(4.35rem,8.1vw,8.3rem)}
.experience-card h3,.card-tall h3{font-family:var(--heading);font-weight:800;letter-spacing:-.035em;line-height:1.05}
.value-card h3,.contact-card h3{font-family:var(--heading);font-weight:800;letter-spacing:-.03em;line-height:1.08}
/* Header : vrai centrage vertical, plus de place aux libellés. */
.nav-inner{gap:15px}
.site-brand{width:173px}
.site-brand img{width:170px}
.primary-nav{gap:clamp(13px,1.35vw,23px)}
.nav-link-custom{font-family:var(--body);font-size:1rem;line-height:1.35;font-weight:800;color:#fff;display:inline-flex;align-items:center;gap:7px;padding:8px 0;background:none;border:0;cursor:pointer}
.header-cta{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.25;min-height:54px;padding:12px 17px;font-size:.97rem;font-weight:850;text-align:center}
.header-cta span{margin-left:0;flex:none;font-size:1.35rem;line-height:1}
.nav-dropdown{position:relative}
.dropdown-chevron{font-size:1.2rem;display:inline-block;transform:translateY(-2px);transition:transform .2s;color:var(--yellow)}
.nav-dropdown.is-open .dropdown-chevron,.nav-dropdown:hover .dropdown-chevron{transform:translateY(-1px) rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 23px);left:-20px;min-width:285px;background:#242427;border-top:3px solid var(--pink);padding:8px 0;box-shadow:0 14px 34px rgba(0,0,0,.3);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:101}
.nav-dropdown-menu a{display:block;padding:11px 20px;color:#fff;font-size:.94rem;font-weight:700;line-height:1.3;transition:background .2s,color .2s}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{color:#131313;background:var(--yellow)}
.nav-dropdown.is-open .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
/* Actions lisibles et sans collision avec les controles du slider. */
.hero-content{max-width:850px;padding-bottom:35px}
.hero-lead{max-width:615px}
.btn-ozw{min-height:60px;font-size:1.04rem;font-weight:800;line-height:1.3;gap:15px;padding:16px 24px}
.btn-ozw span:last-child{font-size:1.3rem}
.hero-actions{gap:14px}
.hero-bottom{justify-content:flex-end;bottom:23px}
/* Translation rapide de photos en entier, aucun fondu. */
.hero-image{opacity:1;transform:translate3d(105%,0,0) scale(1.04);transition:none;will-change:transform}
.hero-image.is-active{opacity:1;transform:translate3d(0,0,0) scale(1.04);transition:transform .76s cubic-bezier(.75,0,.22,1)}
.hero-image.is-leaving-left{transform:translate3d(-105%,0,0) scale(1.04);transition:transform .76s cubic-bezier(.75,0,.22,1)}
.hero-image.is-leaving-right{transform:translate3d(105%,0,0) scale(1.04);transition:transform .76s cubic-bezier(.75,0,.22,1)}
/* Expressions une par une : entrée 0.45s, pause environ 2s, sortie 0.45s. */
.energy-ticker{height:80px;background:var(--yellow);border-bottom:0;overflow:hidden;display:block;position:relative}
.energy-ticker-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.energy-ticker-stage>span{position:absolute;top:50%;left:0;width:100%;display:flex;align-items:center;justify-content:center;gap:30px;white-space:nowrap;color:#161616;font-family:var(--heading);font-size:clamp(2.15rem,3.5vw,3.55rem);font-weight:800;letter-spacing:-.035em;line-height:1;transform:translate(110vw,-50%);animation:word-slide 12s linear infinite}
.energy-ticker-stage>span:nth-child(2){animation-delay:3s}
.energy-ticker-stage>span:nth-child(3){animation-delay:6s}
.energy-ticker-stage>span:nth-child(4){animation-delay:9s}
.energy-ticker-stage b{font-family:Arial,sans-serif;color:var(--pink);font-size:.68em;line-height:1}
@keyframes word-slide{0%{transform:translate(110vw,-50%)}4%{transform:translate(0,-50%)}21%{transform:translate(0,-50%)}25%{transform:translate(-110vw,-50%)}100%{transform:translate(-110vw,-50%)}}
/* Vidéo locale à la place de la photo statique et de la pastille. */
.concept-visual{margin-left:0;margin-top:20px;max-width:none;overflow:hidden}
.concept-visual>.concept-video{display:block;width:100%;height:548px;object-fit:cover;background:var(--ink)}
.concept-visual .concept-caption{z-index:2}
/* Parallax avec photo, overlay fort pour la lisibilité. */
.value-section{isolation:isolate;background:#121316;position:relative}
.value-section:before{display:none}
.value-parallax-bg{position:absolute;inset:-95px 0;z-index:-2;background:url('../img/hero-show.webp') center 43%/cover no-repeat;transform:translate3d(0,var(--value-offset,0px),0) scale(1.035);will-change:transform}
.value-section:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(10,11,16,.94),rgba(10,11,16,.83) 54%,rgba(10,11,16,.8))}
.value-inner{position:relative;z-index:2}
.value-section .display-heading{font-size:clamp(3rem,4.7vw,5.2rem)}
.value-card{background:rgba(12,12,16,.64);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.value-card:hover{background:rgba(24,24,30,.8)}
.value-card h3{font-size:1.65rem}
.video-bg video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.video-section .video-shade{background:linear-gradient(90deg,rgba(2,2,7,.91) 0%,rgba(2,2,7,.74) 51%,rgba(2,2,7,.22) 100%)}
.video-content h2{font-family:var(--heading);font-size:clamp(2.8rem,4.8vw,5.1rem);font-weight:800;line-height:1.03;letter-spacing:-.04em}
/* Appel à l'action : seulement deux couleurs, aucun contour de lettres. */
.contact-section .display-heading{font-family:var(--heading);font-size:clamp(3rem,5.3vw,5.9rem);font-weight:800;letter-spacing:-.055em;line-height:1.05;color:#161616;margin-bottom:30px}
.contact-section .display-heading span:not(.contact-highlight){color:inherit;text-shadow:none;-webkit-text-stroke:0}
.contact-section .contact-highlight{color:var(--pink);text-shadow:none;-webkit-text-stroke:0}
.contact-section .col-lg-7{min-width:0}
/* CTA de footer discret et sur une ligne. */
.footer-main{grid-template-columns:1.15fr .8fr .8fr 1.05fr;gap:26px}
.footer-talk a{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 18px;background:var(--pink);color:#fff;font:800 .91rem/1.25 var(--body);text-transform:none;white-space:nowrap;max-width:100%;transition:background .2s,transform .2s}
.footer-talk a:hover{background:#db007d;color:#fff;transform:translateY(-2px)}
.footer-talk span{display:inline;font-size:1.2rem}
@media(max-width:1199px){
 .site-header{height:80px}.site-header.scrolled{height:74px}
 .site-brand{width:160px}.site-brand img{width:157px;height:74px}
 .site-header.scrolled .site-brand img{height:69px}
 .menu-toggle{display:flex;order:3}
 .header-cta{margin-left:auto;order:2;min-height:49px;font-size:.9rem;padding:10px 15px}
 .primary-nav{position:fixed;left:0;right:0;top:80px;height:calc(100dvh - 80px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:22px max(24px,6vw) 60px;background:#19191c;visibility:hidden;opacity:0;transform:translateY(-12px);transition:visibility .25s,opacity .25s,transform .25s}
 .site-header.scrolled .primary-nav{top:74px;height:calc(100dvh - 74px)}
 .primary-nav.open{visibility:visible;opacity:1;transform:none}
 .nav-link-custom{display:flex;justify-content:space-between;width:100%;padding:18px 0;border-bottom:1px solid #414145;font:800 1.35rem/1.3 var(--body);text-transform:none;white-space:normal}
 .nav-link-custom:after{display:none}.nav-link-mobile-contact{display:flex}
 .nav-dropdown-menu{position:relative;top:auto;left:auto;min-width:0;width:100%;padding:0 0 0 15px;border:0;background:#242427;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none;transition:none}
 .nav-dropdown.is-open .nav-dropdown-menu{display:block}
 .nav-dropdown-menu a{font-size:1.02rem;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.09)}
 .nav-dropdown:hover:not(.is-open) .nav-dropdown-menu,.nav-dropdown:focus-within:not(.is-open) .nav-dropdown-menu{display:none}
 .footer-main{grid-template-columns:1fr 1fr 1fr}.footer-talk{grid-column:1/-1}
}
@media(max-width:991px){.concept-visual{margin-left:0}.concept-visual>.concept-video{height:450px}.value-parallax-bg{inset:0;transform:none!important;will-change:auto}.value-section .display-heading{font-size:clamp(2.7rem,6vw,4.5rem)}.contact-section .display-heading{font-size:clamp(3.2rem,7vw,5.5rem)}}
@media(max-width:767px){
 .hero h1{font-size:clamp(4rem,10vw,6.7rem)}.energy-ticker{height:65px}.energy-ticker-stage>span{font-size:2.5rem}
 .concept-visual>.concept-video{height:385px}.concept-visual{margin-left:0}
 .value-section .display-heading{font-size:clamp(2.7rem,7vw,4.3rem)}
 .footer-main{grid-template-columns:1fr 1fr}
 .contact-section .display-heading{font-size:clamp(3rem,8.3vw,5rem)}
}
@media(max-width:575px){
 .header-cta{min-height:42px;font-size:.74rem;padding:9px 11px;max-width:190px}
 .header-cta span{display:none}
 .primary-nav,.site-header.scrolled .primary-nav{top:73px;height:calc(100dvh - 73px)}
 .hero h1{font-size:clamp(2.6rem,10.2vw,4rem);letter-spacing:-.055em;line-height:.98}
 .hero-content{padding-bottom:25px}
 .hero-lead{font-size:.99rem}
 .hero-actions{max-width:none;gap:11px}
 .hero-actions .btn-ozw{font-size:.93rem;min-height:56px;width:100%;padding:13px 14px}
 .display-heading{font-size:clamp(2.45rem,9vw,4rem)}
 .energy-ticker{height:59px}.energy-ticker-stage>span{font-size:clamp(1.95rem,7.5vw,2.5rem);gap:14px}
 .concept-visual>.concept-video{height:310px}
 .value-section .display-heading{font-size:clamp(2.6rem,8.5vw,4rem)}
 .value-card h3{font-size:1.7rem}
 .video-content h2{font-size:clamp(2.35rem,8.5vw,3.7rem)}
 .contact-section .display-heading{font-size:clamp(2.4rem,9vw,3.6rem);letter-spacing:-.05em}
 .footer-talk a{font-size:.9rem;padding:13px 15px}
}
@media(prefers-reduced-motion:reduce){
 .hero-image,.hero-image.is-active,.hero-image.is-leaving-left,.hero-image.is-leaving-right{transition:none!important}
 .energy-ticker-stage>span{animation:none;transform:translate(110vw,-50%)}
 .energy-ticker-stage>span:first-child{transform:translate(0,-50%)}
 .value-parallax-bg{transform:none!important}
}
/* Navigation Contact affichée seulement dans le panneau mobile. */
@media(min-width:1200px){.primary-nav .nav-link-mobile-contact{display:none}}
@media(max-width:1199px){.primary-nav .nav-link-mobile-contact{display:flex}}
