:root{--ent:#2C68B1;}
.hazard{height:5px;background:repeating-linear-gradient(135deg,var(--orange) 0 9px,#0f1012 9px 18px);}
.nav-logo{display:flex;align-items:center;margin-right:40px;flex-shrink:0;}
.nav-logo svg{height:50px;width:auto;display:block;transition:height .25s ease;}
.ent-divider{width:1px;height:22px;background:var(--border2);margin-right:16px;transform-origin:center;opacity:0;animation:logoDividerIn .3s ease-out .25s forwards;}
.ent-logo-link{display:flex;align-items:center;margin-right:24px;flex-shrink:0;transition:filter .15s;}
.ent-logo-link:hover{filter:brightness(1.25);}
.ent-logo-nav{height:40.6px;width:auto;display:block;opacity:0;transition:height .25s ease;animation:logoNavIn .55s cubic-bezier(.2,.8,.2,1) .35s forwards;}
.nav.scrolled .ent-logo-nav{height:26px;}
@keyframes logoDividerIn{from{opacity:0;transform:scaleY(0);}to{opacity:1;transform:scaleY(1);}}
@keyframes logoNavIn{from{opacity:0;transform:translateX(-8px);}to{opacity:1;transform:translateX(0);}}
@keyframes logoHeroIn{0%{opacity:0;transform:scale(2.2) rotate(-6deg);}45%{opacity:1;}65%{transform:scale(.92) rotate(2deg);}85%{transform:scale(1.04) rotate(-1deg);}100%{opacity:1;transform:scale(1) rotate(0deg);}}
@keyframes heroContentIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){
.ent-divider,.ent-logo-nav,.hero-logo,.h1,.hero-sub,.btn-row,.kpi-row{animation:none !important;opacity:1 !important;transform:none !important;}
}
.breadcrumb{display:flex;align-items:center;gap:8px;padding:20px clamp(20px,5vw,48px) 0;max-width:1100px;margin:0 auto;font-size:12.5px;color:var(--text3);}
.breadcrumb a{color:var(--text3);}
.breadcrumb a:hover{color:var(--text2);}
.hero{position:relative;overflow:hidden;border-bottom:0.5px solid var(--border); background: linear-gradient(100deg, #0f1012 0%, rgba(15,16,18,0.94) 30%, rgba(15,16,18,0.55) 58%, rgba(15,16,18,0.15) 100%), linear-gradient(180deg, rgba(15,16,18,0.05) 0%, rgba(15,16,18,0.85) 100%), url('/assets/img/hero-gps.jpg'); background-size:cover;background-position:center 30%;}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 640px 420px at 4% 100%, rgba(44,104,177,0.28), transparent 65%);pointer-events:none;}
.hero-in{max-width:1100px;margin:0 auto;padding:clamp(28px,6vw,52px) clamp(20px,5vw,48px) clamp(40px,6vw,64px);position:relative;}
.hero-logo{width:min(190px,36vw);height:auto;display:block;margin-bottom:28px;opacity:0;transform-origin:left center;animation:logoHeroIn .65s cubic-bezier(.34,1.56,.64,1) forwards;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--ent);margin-bottom:24px;}
.eyebrow-dot{width:6px;height:6px;background:var(--ent);transform:rotate(45deg);flex-shrink:0;}
.h1{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:clamp(30px,5vw,50px);line-height:1.1;color:var(--text);margin-bottom:22px;max-width:760px;opacity:0;animation:heroContentIn .5s ease-out .5s forwards;}
.h1 em{color:var(--ent);font-style:normal;}
.hero-sub{font-size:clamp(15px,2vw,17px);color:var(--text2);line-height:1.7;max-width:620px;margin-bottom:0;opacity:0;animation:heroContentIn .5s ease-out .6s forwards;}
.btn-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px;opacity:0;animation:heroContentIn .5s ease-out .7s forwards;}
.btn-p{display:inline-flex;align-items:center;gap:6px;background:var(--ent);color:#fff;font-size:14px;font-weight:700;letter-spacing:0.01em;padding:13px 24px;transition:opacity .15s;}
.btn-p:hover{opacity:.88;}
.btn-s{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text2);font-size:14px;font-weight:700;letter-spacing:0.01em;padding:13px 24px;border:1px solid var(--border2);transition:border-color .15s,color .15s;}
.btn-s:hover{border-color:var(--text2);color:var(--text);}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:0.5px solid var(--border);margin-top:28px;max-width:700px;opacity:0;animation:heroContentIn .5s ease-out .8s forwards;}
.kpi{background:var(--bg);padding:18px 20px;}
.kpi-n{font-family:'Archivo Narrow',sans-serif;font-size:19px;font-weight:700;color:var(--text);}
.kpi-l{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;color:var(--text2);margin-top:5px;line-height:1.4;}
.section{padding:56px 0;border-bottom:0.5px solid var(--border);}
.section:last-child{border-bottom:none;}
.section-tex{position:relative;padding:56px 0; background: url('/assets/img/trame-02.png') 0 0/100% auto repeat, radial-gradient(ellipse 900px 500px at 85% 0%, rgba(221,84,19,0.08), transparent 62%); background-attachment:scroll;}
.section-tex.soft{background: url('/assets/img/trame-02.png') 0 0/100% auto repeat, radial-gradient(ellipse 900px 500px at 85% 0%, rgba(221,84,19,0.06), transparent 62%); background-attachment:scroll;}
.s-eyebrow{font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--ent);margin-bottom:10px;}
.h2{font-family:'Archivo Narrow',sans-serif;font-size:28px;font-weight:700;color:var(--text);margin:0 0 8px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:760px){
.g2,.g3{grid-template-columns:1fr;}
}
.card{background:var(--bg2);border:0.5px solid var(--border);padding:22px 24px;}
.img-ph{background:var(--bg2);border:0.5px dashed var(--border2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text3);font-size:12.5px;}
.rz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.rz-card{background:linear-gradient(165deg,#282a30 0%,#1c1e22 62%,#181a1d 100%);border:0.5px solid var(--border);overflow:hidden;}
.rz-img-wrap{height:150px;position:relative;overflow:hidden;background:var(--bg3);display:flex;align-items:center;justify-content:center;}
.rz-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.rz-fade{position:absolute;left:0;right:0;bottom:0;height:44px;background:linear-gradient(180deg,rgba(33,35,39,0) 0%,rgba(33,35,39,0.85) 100%);}
.rz-ph{font-size:28px;color:var(--text3);}
.rz-body{padding:16px 20px;border-top:1px solid var(--border);}
.rz-sec{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--ent);margin-bottom:6px;}
.rz-t{font-family:'Archivo Narrow',sans-serif;font-size:15.5px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:6px;}
.rz-r{font-size:12.5px;color:var(--text2);line-height:1.5;}
.rz-carousel .rz-slide{opacity:0;animation:rzCarouselFade 9s infinite;}
@keyframes rzCarouselFade{0%{opacity:0;}4%{opacity:1;}29%{opacity:1;}37%{opacity:0;}100%{opacity:0;}}
@media (prefers-reduced-motion: reduce){
.rz-carousel .rz-slide{animation:none;opacity:0;}
.rz-carousel .rz-slide:first-child{opacity:1;}
}
.card-sm{background:var(--bg2);border:0.5px solid var(--border);padding:16px 18px;}
.tag{display:inline-block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.02em;padding:4px 10px;border:1px solid rgba(44,104,177,.4);color:#7FA8E0;margin-left:auto;}
.mod-h{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.mod-dot{width:8px;height:8px;flex-shrink:0;}
.mod-logo{height:30px;width:auto;display:block;flex-shrink:0;}
.mod-n{font-family:'Archivo Narrow',sans-serif;font-size:16px;font-weight:700;color:var(--text);}
.cta-band{background:linear-gradient(120deg,var(--ent),#183c66);position:relative;overflow:hidden;}
.cta-glow{position:absolute;inset:0;background:radial-gradient(ellipse 300px 200px at 90% 0%, rgba(255,255,255,0.18), transparent 70%);animation:glowPulse 3.5s ease-in-out infinite;}
@keyframes glowPulse{0%,100%{opacity:.5;}50%{opacity:.9;}}
@media (prefers-reduced-motion: reduce){
.cta-glow{animation:none;}
}
.cta-band-in{padding:clamp(24px,4vw,34px) clamp(20px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;position:relative;}
.cta-t{font-family:'Archivo Narrow',sans-serif;font-size:24px;font-weight:700;color:#fff;}
.cta-s{font-size:14px;color:rgba(255,255,255,0.8);margin-top:5px;}
.cta-band .btn-p{background:var(--bg);}
.cta-band .btn-p:hover{background:#000;opacity:1;}

/* Liens vers le site propre de GP Software, entite qui reste independante.
   Meme traitement que sur la page OCM. */
.ext-btn{display:inline-flex;align-items:center;gap:6px;background:var(--ent);color:#fff;padding:11px 20px;font-size:13px;font-weight:700;transition:opacity .15s;}
.ext-btn:hover{opacity:.88;}
.cta-band .btn-white{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ent);padding:13px 24px;font-size:14px;font-weight:700;transition:opacity .15s;}
.cta-band .btn-white:hover{opacity:.9;}
