/* nav.css — Navigation partagée Agence Elevex */
:root{--ease-nav:cubic-bezier(.77,0,.175,1)}

.c-Navigation{position:fixed;top:0;left:0;width:100%;z-index:100}
.c-Navigation-header{display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;background:transparent;transition:background .4s var(--ease),backdrop-filter .4s}
.c-Navigation.is-scrolled .c-Navigation-header,.c-Navigation.is-open .c-Navigation-header{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.c-Navigation-logo{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--text);opacity:0;transform:translateY(-14px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.c-Navigation-logo img{width:32px;height:32px;object-fit:contain}
.c-Navigation.is-ready .c-Navigation-logo{opacity:1;transform:translateY(0)}
.c-Navigation-right{display:flex;align-items:center;gap:18px}

.c-Lang{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border-radius:6px;padding:7px 14px;opacity:0;transition:opacity .9s var(--ease) .1s,background .3s,transform .2s var(--ease)}
.c-Navigation.is-ready .c-Lang{opacity:1}
.c-Lang:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
.c-Lang-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);flex-shrink:0}
.c-Lang-text{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.c-Lang-sep{color:var(--label);font-size:10px}
.c-Lang-fr,.c-Lang-en{color:var(--text);transition:color .3s}
.c-Lang-fr.dim,.c-Lang-en.dim{color:var(--label)}

.c-MenuBtn{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:6px;background:rgba(255,255,255,.07);opacity:0;transform:scale(.9);transition:opacity .9s var(--ease) .2s,transform .9s var(--ease) .2s,background .25s}
.c-Navigation.is-ready .c-MenuBtn{opacity:1;transform:scale(1)}
.c-MenuBtn:hover{background:rgba(255,255,255,.12)}
.c-MenuBtn-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text);transition:opacity .3s}
.c-MenuBtn-lines{position:relative;width:18px;height:10px;flex-shrink:0}
.c-MenuBtn-line{position:absolute;left:0;width:100%;height:1.5px;background:var(--text);border-radius:2px;transition:transform .45s var(--ease),opacity .3s,width .3s var(--ease)}
.c-MenuBtn-line:nth-child(1){top:0}
.c-MenuBtn-line:nth-child(2){top:50%;transform:translateY(-50%);width:70%}
.c-MenuBtn-line:nth-child(3){bottom:0}
.c-Navigation.is-open .c-MenuBtn-line:nth-child(1){transform:translateY(5px) rotate(45deg)}
.c-Navigation.is-open .c-MenuBtn-line:nth-child(2){opacity:0;width:100%;transform:translateY(-50%) scaleX(0)}
.c-Navigation.is-open .c-MenuBtn-line:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.c-Navigation-overlay{position:fixed;inset:0;background:var(--bg);transform:translateY(-100%) translateZ(0);transition:transform .6s var(--ease-nav);z-index:99;display:flex;flex-direction:column;visibility:hidden}
.c-Navigation.is-open .c-Navigation-overlay{transform:translateY(0) translateZ(0);visibility:visible}
.c-Navigation-overlay-head{display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;flex-shrink:0}
.c-Navigation-close{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:6px;background:rgba(255,255,255,.07);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s,transform .2s var(--ease)}
.c-Navigation-close:hover{background:rgba(255,255,255,.12);color:var(--text);transform:translateY(-1px)}
.c-Navigation-close-x{font-size:16px;font-weight:300;line-height:1;margin-left:2px}
.c-Navigation-overlay-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 5vw 24px}
.c-Navigation-links{border-top:1px solid rgba(255,255,255,.06)}
.c-Navigation-li{border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}
.c-Navigation-a{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:clamp(26px,4.5vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--text);transform:translateY(110%);transition:transform .5s var(--ease),color .25s}
.c-Navigation.is-open .c-Navigation-a{transform:translateY(0)}
.c-Navigation-li:nth-child(1) .c-Navigation-a{transition-delay:.06s}
.c-Navigation-li:nth-child(2) .c-Navigation-a{transition-delay:.11s}
.c-Navigation-li:nth-child(3) .c-Navigation-a{transition-delay:.16s}
.c-Navigation-li:nth-child(4) .c-Navigation-a{transition-delay:.21s}
.c-Navigation-li:nth-child(5) .c-Navigation-a{transition-delay:.26s}
.c-Navigation-a:hover{color:var(--primary-lt)}
.c-Navigation-a-num{font-size:.27em;color:var(--label);align-self:flex-start;margin-top:.35em;font-weight:400;letter-spacing:.05em}
.c-Navigation-a-arrow{font-size:.45em;color:var(--label);flex-shrink:0;transition:transform .3s var(--ease),color .25s}
.c-Navigation-a:hover .c-Navigation-a-arrow{transform:translate(5px,-5px);color:var(--primary-lt)}
.c-Navigation-overlay-foot{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw 36px;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap;gap:12px}
.c-Navigation-overlay-foot-item{font-size:12px;color:var(--muted)}
.c-Navigation-overlay-foot-item a{color:var(--muted);transition:color .3s}
.c-Navigation-overlay-foot-item a:hover{color:var(--text)}
.c-Navigation-cta{flex-shrink:0}

.btn05{position:relative;display:inline-flex;align-items:stretch;background:var(--bg);border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;cursor:pointer;color:var(--text);text-decoration:none;font-family:var(--font);transition:border-color .35s,box-shadow .35s,transform .22s var(--ease)}
.btn05:hover{border-color:rgba(255,255,255,.25);box-shadow:0 8px 28px rgba(0,0,0,.5);transform:translateY(-2px)}
.btn05_bg{position:absolute;inset:0;background:rgba(255,255,255,.03);opacity:0;transition:opacity .35s;pointer-events:none}
.btn05:hover .btn05_bg{opacity:1}
.btn05_inner{display:inline-flex;align-items:center;flex:1;overflow:hidden}
.btn05_text{display:block;padding:13px 14px 13px 20px;font-size:13px;font-weight:600;white-space:nowrap;flex:1;letter-spacing:.02em}
.btn05:hover .btn05_text{animation:btnTxt .44s cubic-bezier(.77,0,.175,1) forwards}
@keyframes btnTxt{0%{transform:translateX(0);opacity:1}38%{transform:translateX(115%);opacity:0}39%{transform:translateX(-115%);opacity:0}100%{transform:translateX(0);opacity:1}}
.btn05_icon-wrap{display:flex;align-items:center;gap:8px;padding:0 16px;align-self:stretch;flex-shrink:0}
.btn05_arrow{position:relative;width:18px;height:27px;flex-shrink:0}
.btn05_dot{position:absolute;top:calc(var(--r) * 6px);left:calc(var(--c) * 7.5px);width:2.5px;height:2.5px;border-radius:50%;background:rgba(255,255,255,.72)}
.btn05:hover .btn05_dot{animation:btn05dp .5s ease forwards;animation-delay:calc((2 - var(--ai)) * 75ms + var(--r) * 12ms)}
@keyframes btn05dp{0%{transform:scale(1);background:rgba(255,255,255,.72)}50%{transform:scale(2);background:#fff}100%{transform:scale(1);background:rgba(255,255,255,.72)}}
.btn05--sm .btn05_text{font-size:12px;padding:10px 12px 10px 16px}
.btn05--sm .btn05_icon-wrap{padding:0 12px;gap:6px}
.btn05--sm .btn05_arrow{width:15px;height:23px}
.btn05--sm .btn05_dot{top:calc(var(--r) * 5px);left:calc(var(--c) * 6px);width:2px;height:2px}
.btn05--lg .btn05_text{font-size:14px;padding:15px 16px 15px 24px}
.btn05--lg .btn05_icon-wrap{padding:0 18px}
.btn05--full{width:100%}
