:root{--ease:cubic-bezier(.22,.61,.36,1);--ink:#0B1422;--mw:1200px;--gut:clamp(20px,5vw,56px);--nav-h:72px;--max:1240px}
.pl-logo{width:96px;height:96px;border-radius:22px;display:grid;place-items:center;padding:14px;background:linear-gradient(145deg,rgba(46,134,222,.16),rgba(217,168,79,.12));border:1px solid rgba(217,168,79,.28);box-shadow:0 12px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1);animation:plPulse 2.4s var(--ease) infinite}
/* lien actif nav (scroll-spy) */
.nav-links a.active{color:#fff}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .35s var(--ease),border-color .35s,box-shadow .35s;border-bottom:1px solid transparent;background:linear-gradient(180deg,rgba(6,11,20,.55),rgba(6,11,20,.15));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}

#dotnav{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:12px}#dotnav{padding:14px 11px;border-radius:999px;border:1px solid rgba(245,247,250,.07);background:color-mix(in srgb,#0B1422 55%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#dotnav .dot-more{display:flex;align-items:center;justify-content:center;color:var(--gold-l);opacity:.9;margin-top:4px;animation:dotMore 1.8s ease-in-out infinite;transition:opacity .4s var(--ease)}#dotnav .dot-more svg{width:13px;height:13px}#dotnav a{display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;position:relative;z-index:1;height:15px}#dotnav::before,#dotnav::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:2px;border-radius:2px;pointer-events:none}#dotnav::before{top:0;bottom:0;background:rgba(245,247,250,.09)}#dotnav::after{top:0;height:var(--dp,0%);background:linear-gradient(180deg,var(--gold-l),var(--blue-l));box-shadow:0 0 9px rgba(217,168,79,.4);transition:height .15s linear}#dotnav .dot-pt{width:7px;height:7px;border-radius:50%;background:rgba(11,20,34,.9);border:1.5px solid rgba(245,247,250,.28);box-sizing:border-box;transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);flex-shrink:0}#dotnav a:hover .dot-pt{background:var(--gold-l);border-color:var(--gold-l);transform:scale(1.5)}#dotnav a.active .dot-pt{background:var(--gold-l);border-color:var(--gold-l);transform:scale(1.45);box-shadow:0 0 0 4px rgba(217,168,79,.18),0 0 14px 3px rgba(232,195,106,.55)}#dotnav .dot-lb{position:absolute;right:calc(100% + 14px);top:50%;font-family:var(--fm);font-size:0.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);background:rgba(11,20,34,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5px 11px;border-radius:8px;border:1px solid var(--hair);box-shadow:0 8px 22px rgba(0,0,0,.45);opacity:0;transform:translateY(-50%) translateX(8px);transition:opacity .26s var(--ease),transform .26s var(--ease);pointer-events:none;white-space:nowrap}#dotnav a:hover .dot-lb,#dotnav a.active .dot-lb{opacity:1;transform:translateY(-50%) translateX(0)}

.nav.scrolled{background:rgba(8,14,26,.82);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-bottom-color:var(--hair);box-shadow:0 8px 32px rgba(0,0,0,.3)}.brand:hover .brand-mk{transform:translateY(-1px) scale(1.03)}

.nav-in{display:flex;align-items:center;justify-content:space-between;padding:15px var(--gut);max-width:var(--max);margin:0 auto;transition:padding .35s var(--ease)}
.brand{display:flex;align-items:center;gap:13px}
.brand-mk{position:relative;width:62px;height:62px;border-radius:16px;display:grid;place-items:center;padding:8px;background:linear-gradient(145deg,rgba(46,134,222,.14),rgba(217,168,79,.1));border:1px solid rgba(217,168,79,.22);box-shadow:0 4px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.brand-mk::after{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(145deg,rgba(90,167,240,.5),transparent 40%,transparent 60%,rgba(217,168,79,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;transition:opacity .4s var(--ease)}
.brand:hover .brand-mk{transform:translateY(-1px) scale(1.04);box-shadow:0 8px 26px rgba(46,134,222,.28),inset 0 1px 0 rgba(255,255,255,.12);border-color:rgba(217,168,79,.4)}
.brand:hover .brand-mk::after{opacity:1}

.brand-tx{font-family:var(--fd);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;line-height:1.1}
.brand-tx .s{background:linear-gradient(110deg,var(--blue-l),var(--gold-l));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand-tx small{display:block;font-family:var(--fm);font-weight:400;font-size:0.6875rem;letter-spacing:.09em;line-height:1.45;color:#8C9AB0;text-transform:uppercase;margin-top:3px;white-space:nowrap}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-item{position:relative}
.nav-trigger{display:flex;align-items:center;gap:6px;font-family:inherit;font-size:.84rem;color:rgba(245,247,250,.72);background:none;border:none;cursor:pointer;padding:8px 12px;border-radius:999px;transition:color .2s var(--ease),background .25s var(--ease)}
.nav-trigger svg{transition:transform .25s var(--ease);opacity:.7}
.nav-item:hover .nav-trigger,.nav-trigger[aria-expanded="true"]{color:var(--cream);background:rgba(255,255,255,.06)}
.nav-item:hover .nav-trigger svg{transform:rotate(180deg)}













.nav-cta{display:flex;align-items:center;gap:14px}
.nav-tog{display:none;position:relative;width:40px;height:40px;padding:0;background:none;border:1px solid var(--hair);border-radius:9px;color:var(--cream);cursor:pointer}.nav-tog .bz{position:absolute;left:11px;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s var(--ease)}.nav-tog .bz:nth-child(1){top:14px}.nav-tog .bz:nth-child(2){top:19px}.nav-tog .bz:nth-child(3){top:24px}.nav-tog[aria-expanded="true"] .bz:nth-child(1){transform:translateY(5px) rotate(45deg)}.nav-tog[aria-expanded="true"] .bz:nth-child(2){opacity:0}.nav-tog[aria-expanded="true"] .bz:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.btn:focus-visible,.nav-trigger:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px;border-radius:999px}













/* ===== NAV TOOLS v2 — souris & mouvement (2026-06-07) ===== */



.nav-cta .btn-p{transition:transform .18s var(--ease),box-shadow .25s var(--ease)}
.foot-brand .brand{margin-bottom:16px}



/* ===================================================== */
/* MODERNISATION MOBILE — bloc consolidé                 */
/* ===================================================== */
/* Tablette : toute grille inline 4-5 colonnes -> 2 colonnes (rattrape les grilles sans classe) */

/* Mobile : toute grille inline -> 1 colonne, sans exception */

/* Confort de lecture et ergonomie tactile sur petit écran */

/* Très petit écran : compacter encore les stats hero */

/* Sécurité : empêcher le scroll horizontal global sur mobile */



.logo-img{background:var(--logo) center/contain no-repeat;display:block;width:100%;height:100%;filter:drop-shadow(0 3px 8px rgba(0,0,0,.42))}.pl-logo{position:relative;animation:plAssemble 1.05s var(--ease) both,plPulse 2.6s var(--ease) 1.15s infinite}.pl-logo::after{content:"";position:absolute;inset:-7px;border-radius:27px;background:conic-gradient(from 0deg,transparent 0deg,rgba(232,195,106,.95) 48deg,rgba(90,167,240,.5) 96deg,transparent 150deg);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:plRing 1.15s var(--ease) .1s both;pointer-events:none}@media(prefers-reduced-motion:reduce){.pl-logo,.pl-slogan,.pl-bar i{animation:none}.pl-slogan:nth-child(1){opacity:1}.hx-shot{animation:none}.hx-shot:nth-child(1){opacity:1}}@media(prefers-reduced-motion:reduce){#dotnav .dot-more{animation:none}}@media(prefers-reduced-motion:reduce){#dotnav .dot-pt,#dotnav .dot-lb,#dotnav::after{transition:none}}@media(max-width:1200px){#dotnav{display:none}}@media(prefers-reduced-motion:reduce){.brand:hover .brand-mk{transform:none}}@media(min-width:1241px){}@media(min-width:1241px) and (prefers-reduced-motion:reduce){}@media(max-width:1240px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:rgba(6,11,20,.74);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);padding:18px var(--gut);gap:2px;border-bottom:1px solid var(--hair);box-shadow:0 24px 50px rgba(0,0,0,.5);max-height:82vh;overflow-y:auto}.nav-links.open{display:flex;animation:navDrop .28s var(--ease)}.nav-item{width:100%}.nav-trigger{width:100%;justify-content:space-between;font-size:1rem;padding:13px 10px;border-radius:10px}.nav-trigger svg{transition:transform .25s}.nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}.nav-tog{display:block}}@media(max-width:1399px) and (min-width:1241px){.nav-trigger{padding:8px 9px;font-size:.84rem}.nav-cta .btn-p{padding:10px 16px}}@media(min-width:1400px){.nav-in{max-width:1360px}}@media(max-width:1240px){}@media(prefers-reduced-motion:reduce){.reveal,.reveal-up,.reveal-blur,.hero-parallax{filter:none!important;transition:opacity .3s!important;transform:none!important}.btn,.btn-p::after{transition:none}.btn-g:hover,.btn:active{transform:none}.btn-p:hover::after{left:-80%}}@media(prefers-reduced-motion:reduce){.nav-cta .btn-p{transition:none}}@media(max-width:560px){
  .hero{padding:96px 0 36px}
  .sites-grid,.esg-grid,.foot-grid{grid-template-columns:1fr}
  .app-card{padding:22px}
  .tier1-grid,.tier2-grid,.tier3-grid{grid-template-columns:1fr}
  .tech-now-grid,.tech-future-grid{grid-template-columns:1fr}
  .dash-kpi,.dash-stations{grid-template-columns:1fr 1fr!important}
  .flotte-grid{grid-template-columns:1fr!important}
  .nextgen-grid{grid-template-columns:1fr!important}
  .reg-grid,.diff-grid{grid-template-columns:1fr!important}
  .dist-flow{grid-template-columns:1fr!important}
  .dist-step{margin-right:0!important;margin-bottom:30px!important}
  .dist-step .dist-arrow{right:auto!important;left:50%!important;top:auto!important;bottom:-24px!important;transform:translateX(-50%) rotate(90deg)!important}
  .dist-proof{grid-template-columns:1fr!important}
  .map-grid{grid-template-columns:1fr!important}
  .compare-grid{font-size:.92em}
  .chain-flow{font-size:.95rem}.ep-models,.ms-usecases,.prod-synth,.modref-grid,.client-grid,.tech-grid,.prod-b2b,.truck-grid,.carbon-grid,.regime-grid,.rd-axes,.chain-grid,.fin-grid,.appfeat-grid,.maint-grid,.taskforce-grid,.htech-grid,.buy-grid,.univ-grid,.hub-grid,.recomp-grid,.welltype-grid,.bit-grid,.viz-grid,.vc-grid,.gt-grid{grid-template-columns:1fr!important}
  .market-flow{grid-template-columns:1fr!important}
  .market-flow .mf-arrow{transform:rotate(90deg)}
  /* bandeaux images : plus compacts sur mobile */
  .img-banner{height:200px!important}
  .img-banner > div:last-child{padding:18px 20px!important}
  .img-banner > div:last-child > div:last-child{font-size:1.1rem!important}
}@media(max-width:900px){.lc-grid{grid-template-columns:1fr 1fr!important}.esg3-grid{grid-template-columns:1fr!important}.prod-b2b{grid-template-columns:1fr 1fr!important}.truck-grid{grid-template-columns:1fr 1fr!important}.carbon-grid{grid-template-columns:1fr 1fr!important}.rd-axes{grid-template-columns:1fr 1fr!important}.chain-grid{grid-template-columns:1fr 1fr!important}.maint-grid{grid-template-columns:1fr 1fr!important}.taskforce-grid{grid-template-columns:1fr 1fr!important}.htech-grid{grid-template-columns:1fr 1fr!important}}@media(max-width:600px){
  :root{--gut:18px}
  section,header.hero{padding-left:0;padding-right:0}
  .wrap{padding-left:18px;padding-right:18px}
  /* titres fluides un cran plus compacts */
  .hero h1{font-size:var(--ts-3,clamp(1.8rem,4vw,2.8rem));line-height:1.08}
  h2{font-size:var(--ts-5,clamp(1.35rem,2.9vw,2.1rem))!important}
  
  /* cibles tactiles : boutons et liens nav pleinement cliquables */
  .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;width:100%}
  /* la nav garde un bouton compact, pas pleine largeur */
  .nav-cta .btn-p{width:auto;min-height:42px;padding:9px 16px;font-size:.9rem;white-space:nowrap}
  .nav-cta{gap:10px}
  /* cartes : padding et rayons adoucis, plein largeur */
  .divc,.card-m,.site,.glow-card{padding:20px 18px!important}
  /* éviter tout débordement horizontal */
  img,svg,.img-banner{max-width:100%}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* bandeaux flex (référentiels, principes) : empilage propre */
  .reveal[style*="display:flex"][style*="gap:22px"]{gap:12px!important}
}@media print{
  *{-webkit-text-fill-color:#111!important;background-clip:border-box!important;-webkit-background-clip:border-box!important;background:#fff!important;color:#111!important;box-shadow:none!important;text-shadow:none!important}header,#oilticker,#dotnav,#cmdk,.nav-tog,.nav-search,#preloader,.field,video,.btn,.cp-card em,#nlSubmit{display:none!important}
  main{padding:0!important}
  section{padding:18px 0!important;page-break-inside:avoid;border:none!important;background:#fff!important}
  h1,h2,h3,h4{color:#0B1422!important;page-break-after:avoid}
  a{color:#1B3A6B!important;text-decoration:underline}
  a[href^="#"]{text-decoration:none}
  img,svg{max-width:100%!important}
  .kick{color:#9A6E1A!important}
  .wrap{max-width:100%!important;padding:0 18px!important}
  @page{margin:1.4cm}
}@media(prefers-reduced-motion:reduce){#aurora::after{animation:none;opacity:0}.pl-logo{animation:none}.pl-logo::after{animation:none;opacity:0}}.nav-search svg{transition:transform .35s var(--ease)}.nav-search:hover svg{transform:rotate(-12deg) scale(1.08)}.nav-search:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-l) 16%,transparent)}.nav-cta .btn-p{transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.nav-cta .btn-p svg{transition:transform .3s var(--ease)}.nav-cta .btn-p:hover svg{transform:scale(1.12)}@media(prefers-reduced-motion:reduce){.nav-search svg,.nav-cta .btn-p svg{transition:none}.nav-search:hover svg,.nav-cta .btn-p:hover svg{transform:none}}
.cmdk-panel{animation:ckIn .18s cubic-bezier(.2,.8,.2,1)}
@keyframes ckIn{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}
.ck-k{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;margin-right:3px;border:1px solid var(--hair);border-radius:5px;background:rgba(255,255,255,.04);font-size:0.6875rem;color:#C4D0E2}
.cmdk-group{font-family:var(--fm);font-size:0.6875rem;letter-spacing:.14em;text-transform:uppercase;color:#8EA0BC;padding:12px 14px 5px}
.cmdk-item{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:11px;text-decoration:none;border:1px solid transparent;transition:background .14s,border-color .14s}
.cmdk-item .ci-ic{flex:none;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(90,167,240,.10);color:var(--blue-l)}
.cmdk-item .ci-tx{min-width:0}
.cmdk-item .ci-t{font-family:var(--fd);font-size:.94rem;color:var(--cream);display:block;line-height:1.25}
.cmdk-item .ci-k{font-size:.74rem;color:var(--muted-l,#9FB0C9);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-item.on{background:rgba(90,167,240,.13);border-color:rgba(90,167,240,.32)}
.cmdk-item.on .ci-t{color:#fff}
.cmdk-item.on .ci-ic{background:rgba(232,195,106,.16);color:var(--gold-l)}
.cmdk-item .ci-go{margin-left:auto;color:var(--gold-l);opacity:0;transform:translateX(-4px);transition:.16s}
.cmdk-item.on .ci-go{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.cmdk-panel{animation:none}.cmdk-item,.cmdk-item .ci-go{transition:none}}
@media(max-width:360px){.nav-in{padding-left:8px!important;padding-right:8px!important}.nav-cta{gap:6px!important}}@media(max-width:360px){html{overflow-x:clip}}
/* iOS safe-area : la barre fixe se decale sous l'encoche / Dynamic Island. No-op sur les appareils sans zone sure. */
@supports(top:env(safe-area-inset-top)){.nav:not(#_){padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}
