/* --- polices servies par le site, aucun appel a Google --- */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-condensed-500.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/barlow-condensed-600.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/barlow-condensed-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-sans-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ibm-plex-sans-500.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/ibm-plex-sans-600.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-mono-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ibm-plex-mono-500.woff2') format('woff2')}

:root{
  --navy-950:#050F29; --navy-900:#0A1839; --navy-800:#0E2150; --line:#1C2E5A;
  --blue:#2C7CD4; --blue-light:#5FA2EA; --ink:#E8EEF8; --muted:#A9B6CF; --dim:#6D7FA3;
  --gut:clamp(20px, 5vw, 64px);
  --e-out:cubic-bezier(.22,.61,.36,1); --e-expo:cubic-bezier(.16,.84,.30,1); --e-io:cubic-bezier(.33,0,.67,1);
  --hdr:clamp(72px,7vw,96px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{margin:0;background:var(--navy-950);color:var(--ink);font-family:'IBM Plex Sans',-apple-system,Segoe UI,Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:var(--blue-light);text-decoration:none}
a:hover{color:#fff}
/* overflow-wrap : filet de securite. Il ne se declenche que si un mot ne
   tient pas du tout dans la colonne (« Instrumentation » sous 300 px, ou un
   futur nom de produit plus long). Au-dessus, il ne change rien. */
h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;text-transform:uppercase;margin:0;line-height:.98;letter-spacing:.005em;text-wrap:balance;overflow-wrap:break-word}
p{margin:0;text-wrap:pretty}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace}
.wrap{padding-inline:var(--gut)}
.label{font-family:'IBM Plex Mono',monospace;font-size:clamp(11px,1.1vw,13px);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-light)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;font-weight:600;font-size:15px;border:1px solid transparent;transition:.2s}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:#1c63ad;color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.section{padding-block:clamp(26px,3.7vw,56px)}

/* HEADER */
header{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;height:clamp(72px,7vw,96px);padding-inline:var(--gut)}
header img{height:clamp(34px,3.4vw,48px);width:auto;transform-origin:left center;transition:transform .24s var(--e-out)}
header::before{content:"";position:absolute;inset:0;background:rgba(5,15,41,.92);opacity:0;transition:opacity .24s var(--e-io);z-index:-1}
header.solid::before{opacity:1}
header.solid{border-bottom:1px solid var(--line)}
header.solid img{transform:scale(.82)}
@supports (backdrop-filter:blur(10px)){@media(min-width:1101px){header.solid::before{backdrop-filter:blur(10px)}}}
section[id]{scroll-margin-top:calc(var(--hdr) + 12px)}
nav{display:flex;gap:clamp(16px,2vw,34px);font-size:14px;font-weight:500}
nav a{color:#fff;white-space:nowrap}.nav-home{display:inline-flex;align-items:center;gap:7px}.nav-home svg{width:15px;height:15px;display:block;flex:none;margin-top:-1px}.panel .nav-home{gap:10px}
.head-right{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px)}
.lang{display:flex;align-items:center;gap:6px}
.lang a{display:flex;align-items:center;gap:7px;background:none;border:0;padding:6px 8px;color:var(--dim);font:inherit;font-size:13px;font-weight:600;cursor:pointer;font-family:'IBM Plex Mono',monospace;letter-spacing:.06em}
.lang a svg{width:20px;height:14px;display:block;border:1px solid rgba(255,255,255,.35);opacity:.55;transition:.2s}
.lang a.on{color:#fff}
.lang a.on svg{opacity:1;border-color:rgba(255,255,255,.7)}
.lang .sep{width:1px;height:16px;background:#3A4E7C}@media (pointer:coarse){.lang a{min-height:44px;padding-inline:10px}.burger summary{width:48px;height:48px}}

@media(max-width:640px){
  header{gap:10px}
  .head-right{gap:8px}
  .head-right>.btn-ghost{display:none}
  .lang a{padding:5px 4px;font-size:12px;gap:5px}
  .lang a svg{width:17px;height:12px}
}
@media(max-width:1100px){nav{display:none}}
/* menu mobile */
.burger{display:none}
@media(max-width:1100px){
  .burger{display:block;position:relative}
  .burger summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.45)}
  .burger summary::-webkit-details-marker{display:none}
  .burger[open] .panel{display:flex}
  .panel{display:none;position:absolute;right:0;top:52px;flex-direction:column;gap:2px;background:var(--navy-900);border:1px solid var(--line);min-width:220px;padding:8px 0}
  .panel a{color:#fff;padding:12px 20px;font-size:15px}
  .panel a:hover{background:var(--navy-800)}
}

/* HERO */
.hero{position:relative;min-height:min(76vh,700px);display:flex;align-items:flex-end;overflow:hidden}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-media img{position:absolute;left:0;width:100%;height:120%;top:-10%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(5,15,41,.8) 0%,rgba(5,15,41,.2) 34%,rgba(5,15,41,.55) 68%,var(--navy-950) 100%),
  linear-gradient(90deg,rgba(5,15,41,.85) 0%,rgba(5,15,41,0) 62%)}
.hero-inner{position:relative;z-index:2;width:100%;padding-block:clamp(92px,8.6vw,112px) clamp(16px,2vw,26px)}
.hero h1{font-size:clamp(24px,7.4vw,94px);color:#fff;margin-top:14px}
.hero .sub{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(19px,2.4vw,34px);color:var(--blue-light);line-height:1.05;margin-top:8px;max-width:22ch}
.hero p.lead{margin-top:15px;max-width:56ch;color:#C9D5EA;font-size:clamp(16px,1.3vw,20px)}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
/* 22/10 : sur telephone les deux boutons avaient chacun la largeur de leur
   texte, ce qui donnait un escalier. On les met a la meme largeur. */
@media(max-width:520px){.hero .cta{display:grid;grid-template-columns:1fr}.hero .cta .btn{justify-content:center}}
.wave{position:relative;z-index:2;margin-top:clamp(24px,3.4vw,42px);border-top:1px solid rgba(255,255,255,.14)}
.wave svg{display:block;width:100%;height:56px;margin-top:-28px}
.promises{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);padding-block:clamp(16px,2.1vw,26px)}
.promises h3{font-size:clamp(15px,1.4vw,19px);color:#fff}
.promises p{font-size:14px;color:var(--muted);line-height:1.45;margin-top:4px}
.promises svg{margin-bottom:7px}
@media(max-width:720px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* EXPERTISE */
/* 27/10 : les quatre encarts etaient dans la colonne de droite et
   s'arretaient bien avant le texte de gauche — il restait un trou de
   400 px en bas a droite. Tout est empile : titre, chapo, lien, puis
   les quatre encarts sur toute la largeur. Ils y gagnent 60 px chacun,
   et les descriptions tiennent sur deux lignes au lieu de quatre. */
.expertise{display:grid;grid-template-columns:1fr;gap:clamp(22px,3vw,40px);align-items:start}
.expertise-txt{max-width:66ch}
.expertise h2{font-size:clamp(30px,4.4vw,60px);color:#fff}
.expertise .body{color:#C9D5EA;margin-top:14px}
.expertise h2{margin-top:0}
.cards4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.9vw,26px)}
.cards4 .c{border-top:2px solid var(--blue);padding-top:13px}
.cards4 h3{font-size:clamp(17px,1.5vw,22px);color:#fff}
.cards4 p{font-size:15px;color:var(--muted);margin-top:6px;line-height:1.45}
@media(max-width:1000px){.expertise{grid-template-columns:1fr}.cards4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cards4{grid-template-columns:1fr}}

/* DOMAINES */
.pin-wrap{position:relative}
/* 27/10 : la colonne de gauche etait centree et bien plus courte que la
   photo — du vide en haut et en bas. Elle s'etire maintenant sur toute la
   hauteur de l'image et les cinq lignes se partagent l'espace restant.
   Sous 1000 px la photo passe au-dessus, la repartition n'a plus lieu. */
.domaines{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:clamp(26px,3.6vw,52px);align-items:stretch}
.dcol{display:flex;flex-direction:column;min-width:0}
@media(min-width:1001px){
  /* meme plafond que la photo, sinon la colonne la depasse de 40 px */
  .dcol{max-height:calc(100vh - var(--hdr) - 64px)}
  .dlist{flex:1;display:flex;flex-direction:column;margin-top:clamp(16px,2.2vw,28px)}
  .dlist .drow{flex:1 1 0;min-height:62px}
}
@media(min-width:1001px){
  .pin-wrap{height:205vh;padding-block:0}
  .domaines{position:sticky;top:0;min-height:100vh;padding-top:var(--hdr);padding-bottom:26px}
  .pin-step{position:absolute;left:0;width:1px;pointer-events:none}
}
.domaines h2{font-size:clamp(28px,4vw,54px);color:#fff;margin-top:9px}
.dlist{margin-top:clamp(16px,2vw,26px)}
.drow{display:grid;grid-template-columns:minmax(120px,230px) minmax(0,1fr) 22px;gap:clamp(16px,2vw,28px);align-items:center;padding-block:13px;border-top:1px solid var(--line)}
.drow:last-child{border-bottom:1px solid var(--line)}
.drow h3{font-size:clamp(19px,2vw,27px);color:#fff}
.drow p{font-size:15px;color:var(--muted);line-height:1.45}
.stage{position:relative;aspect-ratio:3/4;max-height:calc(100vh - var(--hdr) - 64px);background:var(--navy-900);overflow:hidden;justify-self:end;width:100%}
.stage figure{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);transition:opacity .26s var(--e-io),transform .52s var(--e-out);display:flex;align-items:center;justify-content:center}
.stage figure.on{opacity:1;transform:none;transition:opacity .52s var(--e-io),transform .52s var(--e-out)}
.stage img{width:100%;height:100%;object-fit:cover}
.stage .miss{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:repeating-linear-gradient(135deg,#0C1D45 0 12px,#0A1839 12px 24px);color:var(--dim);font-size:13px;text-align:center;padding:24px}
.stage .illus{position:absolute;top:12px;right:12px;background:rgba(5,15,41,.7);color:var(--dim);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px}
.stage figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(0deg,rgba(5,15,41,.92),rgba(5,15,41,0));display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.stage .cap-t{font-family:'Barlow Condensed',Arial,sans-serif;font-size:26px;text-transform:uppercase;color:#fff;line-height:1}
.stage .cap-n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--blue-light)}
.drow{cursor:pointer;position:relative}
.drow::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,124,212,.16),rgba(44,124,212,0));opacity:0;transition:opacity .2s var(--e-io);pointer-events:none}
.drow::after{content:"";position:absolute;left:-14px;top:14px;bottom:14px;width:2px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .22s var(--e-out)}
.drow:hover::before,.drow.on::before{opacity:1}
.drow.on::after{transform:scaleY(1)}
.drow svg{transition:transform .2s var(--e-out)}
.drow:hover svg,.drow.on svg{transform:translateX(4px)}
.drow:focus-visible{outline:1px solid var(--blue);outline-offset:4px}
.drow.on h3{color:var(--blue-light)}
@media(max-width:1000px){.domaines{grid-template-columns:1fr}.stage{aspect-ratio:16/10;position:relative;top:0;order:-1}}
@media(max-width:620px){.drow{grid-template-columns:38px 1fr;row-gap:6px}.drow p{grid-column:1/-1}.drow svg{display:none}}

/* TECHNO */
.techno{background:var(--navy-900)}
.tech-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(26px,3.6vw,52px);align-items:center}
.tech-grid h2{font-size:clamp(30px,4.4vw,56px);color:#fff}
.tech-grid p{color:#C9D5EA;margin-top:13px}
.diagram{background:var(--navy-950);padding:clamp(14px,2vw,26px)}
/* ---- ACCUEIL : la photo annotee ------------------------------------
   Le bloc etait identique sur l'accueil et sur Technologies, au mot pres.
   L'accueil garde l'objet (la photo, nommee par des reperes), Technologies
   prend la demonstration (le schema qui se construit). Un contenu chacun.
   Les reperes NOMMENT ce qu'on regarde : c'est une planche d'atelier, pas
   une transition. */
.techno-hd{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(14px,3vw,56px);align-items:end}
.techno-hd>div{min-width:0}
.techno-hd h2{font-size:clamp(28px,4.2vw,54px);color:#fff}
.techno-lead{color:#C9D5EA;font-size:clamp(16px,1.25vw,19px);max-width:52ch;margin:0}
.techno-more{display:inline-flex;align-items:center;gap:9px;margin-top:17px;color:#fff;font-weight:600;font-size:15px;border-bottom:1px solid var(--blue);padding-bottom:4px}
.techno-more svg{width:16px;height:16px;transition:transform .24s var(--e-out)}
@media(hover:hover){.techno-more:hover svg{transform:translateX(4px)}}
@media(max-width:1000px){.techno-hd{grid-template-columns:1fr;align-items:start;gap:15px}}
.shotx{margin:clamp(18px,2.6vw,38px) 0 0}
.shotx-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--navy-950)}
.shotx-img img{width:100%;height:100%;object-fit:cover}
.shotx figcaption{margin-top:9px;font-size:13px;color:var(--muted);font-family:'IBM Plex Mono',monospace}
.pin{position:absolute;left:var(--x);top:var(--y);z-index:2;display:flex;align-items:center}
.pin-dot{flex:none;width:11px;height:11px;border:1px solid var(--blue-light);border-radius:50%;background:rgba(5,15,41,.45);margin:0 -1px}
.pin-rule{flex:none;width:clamp(30px,5vw,78px);height:1px;background:var(--blue-light);transform-origin:left center;opacity:.85}
.pin-lab{font-family:'IBM Plex Mono',monospace;font-size:clamp(10px,.92vw,12px);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(5,15,41,.72);padding:4px 9px;white-space:nowrap}
.pin--r{transform:translate(0,-50%)}
.pin--l{flex-direction:row-reverse;transform:translate(-100%,-50%)}
.pin--l .pin-rule{transform-origin:right center}
/* sous 760 px la photo est recadree : les reperes deviennent une legende */
.shotx-legend{display:none;flex-wrap:wrap;gap:8px 18px;margin-top:11px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.shotx-legend b{font-weight:500;color:#fff}
.shotx-legend span::before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border:1px solid var(--blue-light);border-radius:50%}
@media(max-width:760px){.pin{display:none}.shotx-legend{display:flex}.shotx-img{aspect-ratio:3/2}}
@keyframes pinRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pinDot{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes pinLab{from{opacity:0;transform:translate3d(-6px,0,0)}to{opacity:1;transform:none}}
@keyframes pinLabL{from{opacity:0;transform:translate3d(6px,0,0)}to{opacity:1;transform:none}}
/* ---- TECHNOLOGIES : la demonstration --------------------------------
   Le schema s'epingle et se construit en trois temps, un par etape du
   raisonnement. Sans le @supports, sans timeline-scope, en mouvement
   reduit ou sous 1001 px, on retombe sur une grille a deux colonnes :
   schema complet d'un cote, trois etapes numerotees de l'autre. C'est une
   mise en page, pas un reste. */
.princ-hd h2{font-size:clamp(28px,4.2vw,54px);color:#fff}
.princ{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(20px,3.6vw,58px);align-items:start;margin-top:clamp(16px,2.4vw,32px)}
.princ-fig{min-width:0}
.princ-box{background:var(--navy-950);border:1px solid var(--line);padding:clamp(12px,1.8vw,24px)}
.princ-box svg{width:100%;height:auto;display:block}
.princ-steps{list-style:none;margin:0;padding:0;display:grid;gap:clamp(18px,2.6vw,34px)}
.princ-step{border-top:1px solid var(--line);padding-top:13px}
.princ-step h3{font-size:clamp(19px,2vw,27px);color:#fff}
.princ-step p{color:#C9D5EA;font-size:16px;margin-top:8px;max-width:46ch}
@media(max-width:1000px){.princ{grid-template-columns:1fr}}
@keyframes layIn{from{opacity:0}to{opacity:1}}
@keyframes stepDim{from{opacity:.34}to{opacity:1}}
@supports (animation-timeline: view()) and (timeline-scope: --a){
  @media (prefers-reduced-motion: no-preference) and (min-width:1001px){
    .princ{timeline-scope:--s1,--s2,--s3}
    .princ-fig{position:sticky;top:calc(var(--hdr) + 10px);height:min(62vh,520px);display:flex;align-items:center;align-self:start}
    .princ-box{width:100%}
    .princ-steps{gap:0}
    .princ-step{min-height:46vh;display:flex;flex-direction:column;justify-content:center;border-top:0;padding-top:0}
    .princ-step:nth-child(1){view-timeline-name:--s1}
    .princ-step:nth-child(2){view-timeline-name:--s2}
    .princ-step:nth-child(3){view-timeline-name:--s3}
    .lay-1,.lay-2,.lay-3{animation:layIn linear both}
    .lay-1{animation-timeline:--s1;animation-range:entry 55% contain 18%}
    .lay-2{animation-timeline:--s2;animation-range:entry 55% contain 18%}
    .lay-3{animation-timeline:--s3;animation-range:entry 55% contain 18%}
    .cordp{stroke-dasharray:1;animation:trace linear both;animation-timeline:--s1;animation-range:entry 60% contain 30%}
    .princ-step{animation:stepDim linear both;animation-range:entry 60% contain 25%}
    .princ-step:nth-child(1){animation-timeline:--s1}
    .princ-step:nth-child(2){animation-timeline:--s2}
    .princ-step:nth-child(3){animation-timeline:--s3}
  }
}
@media(max-width:1000px){.tech-grid{grid-template-columns:1fr}}

.tech-shot{margin:0 0 clamp(12px,1.4vw,18px)}
.tech-shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.tech-shot figcaption{margin-top:8px;font-size:13px;color:var(--muted)}

/* PRODUITS */
.prod-head{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end}
.prod-head h2{font-size:clamp(28px,4vw,54px);color:#fff;margin-top:9px}
.prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin-top:clamp(16px,2vw,26px)}
.prod{background:var(--navy-950);padding:clamp(14px,1.6vw,22px);display:flex;flex-direction:column;gap:13px;position:relative}
.prod::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .26s var(--e-out)}
@media(hover:hover) and (pointer:fine){
  .prod:hover::before{transform:scaleX(1)}
  .prod:hover .ico{transform:translateY(-2px) scale(1.03);color:#fff}
  .prod:hover .ph::after{opacity:1}
}
.ph{background:linear-gradient(160deg,#0C1D45,#081231);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--dim);position:relative;overflow:hidden}
.ph::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(44,124,212,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(44,124,212,.16) 1px,transparent 1px);background-size:22px 22px;opacity:.55;transition:opacity .24s var(--e-io)}
.ph .ico{position:relative;z-index:1;width:64%;color:var(--blue-light);transition:transform .22s var(--e-out),color .22s var(--e-out)}
.ph .ico svg{width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
/* carte avec vraie photo produit : le fond clair vient de l'image elle-même */
.ph.shot{background:#F1F3F7}
.ph.shot::after{display:none}
.ph.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--e-out)}
@media(hover:hover) and (pointer:fine){.prod:hover .ph.shot img{transform:scale(1.04)}}
.ph-logo{position:relative;z-index:1;width:50%;opacity:.2}.ph-logo img{width:100%;height:auto;display:block}.blk .visual.dark .ph-logo{width:32%}.ph .todo{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--dim);z-index:2}
.ph.shot .tag{position:absolute;left:10px;top:10px;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;color:#0A1839;background:rgba(255,255,255,.74);padding:3px 8px}

.prod .t{display:flex;justify-content:space-between;align-items:center;gap:12px}
.prod h3{font-size:clamp(18px,1.8vw,26px);color:#fff}
/* une phrase par famille : la vignette disait son nom, pas ce qu'elle fait */
.prod-d{color:var(--muted);font-size:14.5px;line-height:1.5;margin-top:-4px;max-width:34ch}
@media(min-width:761px){.prod h3{min-height:2.08em}}
/* ---- SUR LE TERRAIN -------------------------------------------------
   23/10 : le vignettage a ete retire a la demande de Steve — il n'aimait
   pas le fond degrade sur les photos. Les photos sont rendues telles
   quelles ; le titre et la legende reviennent sous l'image, sur le bleu
   nuit, ou ils sont lisibles sans rien poser sur la photo. */
.terrain{border-top:1px solid var(--line);margin-top:clamp(22px,3vw,44px);padding-top:clamp(16px,2.2vw,30px)}
.terrain-hd{display:flex;align-items:center;gap:clamp(12px,2vw,24px);flex-wrap:nowrap}
.terrain-hd .rule{flex:1 1 60px;height:1px;background:var(--line)}
.situ{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:clamp(14px,1.8vw,24px)}
.situ figure{margin:0;position:relative;overflow:hidden;background:var(--navy-950);display:flex;flex-direction:column}
.situ img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.situ figcaption{padding:clamp(13px,1.6vw,20px) clamp(14px,1.6vw,22px) clamp(15px,1.8vw,22px)}
.situ figcaption h3{font-size:clamp(19px,2vw,27px);color:#fff}
.situ .cap{display:block;margin-top:5px;font-size:14px;color:var(--muted);max-width:42ch}
@media(max-width:760px){.situ{grid-template-columns:1fr}}
@media(max-width:900px){.prods{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 22/10 : meme chose pour les vignettes produit, qui basculaient en 16/9. */
@media(max-width:560px){.prods{grid-template-columns:1fr}}

/* TERRAIN */
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(130px,17vw));gap:10px}
.mosaic figure{margin:0;position:relative;overflow:hidden}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic .big{grid-row:span 2}
.mosaic figcaption{position:absolute;inset:auto 0 0;padding:clamp(16px,2.4vw,32px);background:linear-gradient(0deg,rgba(5,15,41,.95),rgba(5,15,41,0))}
.mosaic figcaption h2{font-size:clamp(22px,3vw,44px);color:#fff;margin-top:8px}
.terrain-txt{max-width:70ch;color:#C9D5EA;margin-top:clamp(16px,2.2vw,26px)}
/* 22/10 : les quatre vignettes tombaient a 83 px de haut sur un 375 px, et
   dans un format (1,88) different de celui de la grande image (16/9) et du
   reste de la page (16/10). Tout passe en 16/10, les vignettes gagnent 17 %. */
@media(max-width:860px){.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .mosaic figure{aspect-ratio:16/10}
  .mosaic .big{grid-column:span 2;grid-row:span 1}}

/* REFERENCES */
.refs{background:var(--navy-900)}
/* bande des donneurs d'ordre : hauteur reduite de moitie (21/10) —
   l'essentiel venait du rembourrage vertical, pas du contenu */
.refs.section{padding-block:clamp(24px,2.8vw,42px)}
.refs-grid{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:clamp(24px,3vw,46px);align-items:center}
.refs h2{font-size:clamp(22px,2.4vw,34px);color:#fff;margin-top:8px}
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-track{display:flex;align-items:center;gap:clamp(40px,5vw,80px);width:max-content;animation:mq 42s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-item{display:flex;align-items:center;justify-content:center;flex:none;height:clamp(42px,4.2vw,64px)}
/* logos officiels fournis par le client, affichés en monochrome blanc (masque CSS) */
.mq-item i{display:block;height:calc(var(--lh,1) * clamp(21px,2.4vw,35px));aspect-ratio:var(--ar,3);background:#fff;opacity:.68;transition:opacity .25s;
  -webkit-mask:var(--src) no-repeat center/contain;mask:var(--src) no-repeat center/contain}
.mq-item:hover i{opacity:1}
/* marque dont le fichier de logo n'est pas encore fourni : on affiche le nom */
.mq-item b{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;text-transform:uppercase;
  font-size:clamp(16px,1.8vw,25px);letter-spacing:.06em;color:#fff;opacity:.68;white-space:nowrap;transition:opacity .25s}
.mq-item:hover b{opacity:1}
.lg-edf   {--ar:2.351;--lh:1.22;--src:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjEyNi4yNDUgNTMuMTg3IDQ3LjAyNyAyMCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNGRjVFMTEiIGQ9Ik0xMzguMzA1IDU2LjI1MWMuMDc1LS42MjUtLjAxOC0xLjUzNy40NzYtMS45NjcuMTQ0LS42NjYgMS4xOTItLjUxMSAxLjAyOS0uOTM1LS4xMDEtLjI2Ni0uNTk1LS4xMzktLjc5NC0uMDkxLS4xNS4wMzctMS41ODkuNDkxLTIuMTQyLjU1NGwtLjcwMi0uMTk2Yy0uOTAyLjEyMS0xLjQyMy44NC0xLjkyNSAxLjQxLS40MjIuNDc5LS45OTEgMS42NDgtLjUzOCAyLjM1bC0uMDc1LjQ2IDEuMDI1IDEuNDk4Yy4zNTQuMjU0LjQuNDQyLjc4MS42OTJsLjIzNS4zNTRjLjMxMi4yMDQgMS4yMjkuMjA3IDEuMzg1LjA3NCAxLjQ3OC4xMzggMS4zMTctMi44NTUgMS43ODYtMy40ODMtLjA1OC0uMjgyLS4zMDYtLjU3NS0uNTQxLS43MnptLTYuMzcxIDguOTg2Yy4zMTMtLjA4MS44NDgtLjEyMyAxLjEyOC0uMjYzLjQ0Ni0uMjI0IDEuOTgtMS4yOTYgMS40OTItMi4xNjktLjE1MS0xLjg0LTIuMzcxLS4yODUtMy4zMTYtLjkzLS45NTYtLjEyMy0yLjAzMS0xLjkzMy0yLjMxOS0yLjcwNy0uMTEyLS4zMDgtLjA2NS0uMjAyLS4yMTktLjQ0NS4wMDEtLjAyNC0uMDk4LjA4NS0uMDk3LjA1OS0uMjguMzI2LS4yMzEuNjEtLjI3NSAxLjQwNGwtLjM3Ni0uMDIzYy0uMDI0LjI4OC0uMDUzLjQ0NS0uMTg4LjU5My0uMDI2LjA0OS0uMDU2LjA5Ni0uMDgzLjE0NS0uMjM3LS4wNzktLjExOS4wMzQtLjIxNi0uMTY1LS44ODEuMDQ0LS44MTUuOTI5LTEuMjIgMS40MzMuMDE3IDEuNjUxIDMuMjg5IDMuNjkgNS42ODkgMy4wNjh6bTEwLjg2NC01LjAxOWMtMS40MjcuMjE2LTIuMy42NzEtMi44MzkgMS4wNDQtLjM3Ni4yNjMtLjQ4Ni40MzktLjU2Ny41NDktLjA4MS4xMTEtLjEzNy4zNTUtLjA5Ni42MTMuMDQxLjI1Ni4xNDUuNTI4LjM2Ny42OCAxLjc1My0uMTMgNC43OTUtLjI0IDUuMzg4IDEuMjMyLjAzMS4yMDQuMDc3LjMyNy4wODIuMzc2LjU4LS4xNDMuMTU1LS4wOTIgMS4wMS4wNDMuMTk2LjAzLjY3OS0uMDc4Ljk5OS0uMTU3LjE0Ni0uMDMzLjIyOC0uMTY2LjIyOC0uMTY2cy0uMDI3LS4xNC0uMDItLjIxNmMwIDAgLjMuMDIxLjQyMy0uMDcyLjgxMS0uMTMyLjM4NC0uNTEzLjc2OC0uOTQxLS4yMzEtMi43NTItMy4wNTQtMy4zOTItNS43NDMtMi45ODV6bS0zLjEyOCA1Ljk4N2MtLjQwNi4zMS0uNTc3LjIzMy0uODE2LjcxNC0uMDIzIDAgLjAzNy4wNzMuMDEyLjA3My4yNDMuNDgzLjc5OC42NzkgMS4yMDcgMS4wMTkuMTI4LjEwNy40NzMuNzA1LjYzNi43NDguMTg0LjIyLjMwNC44MjYuNDI0LjgyNi4xMjUuMTcxLS4wMS41NzMuMTExLjcyOS4wMS43Mi0uMDkxLjc3MS0uMjE2LjkwOCAwIC4wNTEuMDY5LjE4Mi4wNjkuMjMuMDMzLjAzNC4zMjIuMjQxLjQ0Ny4yMTYuMzkyLjAxMiAxLjk5NyAxLjI2NSAyLjEyNSAxLjUwNiAxLjE1MS4wODcgMS4wNjctLjI2NSAxLjg2Mi0uNjAzLjIxNS0uMDkyLjM4Ni0uMDA1LjUyNi0uMTUxLjE0Ny0uMTUuMTYtLjQ0OC4zMDItLjYwMy4wMTktMi44MzEtMy44MzQtNS41MTUtNi42ODktNS42MTJ6bS00LjUzNy42NDZjLS4xNi4xNzEtLjYwMS4yMzQtLjcyNC40MjgtLjE4OC4yOTYtLjYyMS45NjktLjk2IDEuMjg5LTEuMDkxIDEuMDM1LTMuNDI1IDEuNTU2LTQuNTc3LjU2Ni0uMDc1LjAwNS0uMDMxLjA0OC4wNTkuMzMxLjA4NC41MzYuNTE2IDEuNzk0LjM1NiAyLjExNS4xMDQuMzU2LjIxMi4yMjcuNDA3LjQyNC4xMzQuMTM0LjE4OC40ODMuMzQyLjU3OC4xNzYtLjAxMi4zNTItLjAyMy41MjctLjAzNmwuMDk2LjI5NmMuMjI1LS4wMTguNDUtLjAzMy42NzYtLjA1LjEyNy4wMjguNTEuMjI3LjYyMi4yNTdsLjc1MS0uMDUyYy41NzIuMTUyIDEuMDcyLS4wODcgMS41NTYtLjQxMy4yNy0uMTgyLjU2NC0uMTUyLjgwNC0uMzU3YTUuNTc1IDUuNTc1IDAgMCAwIDEuMDQtMS4yOGMuNTQzLS45ODYuMzU5LTMuMzQ3LS4xMzMtMy45MzEtLjE5MS0uMjEtLjQxOS0uMjE0LS44NDItLjE2NXoiLz48cGF0aCBmaWxsPSIjMDczODdBIiBkPSJNMTYyLjc3OCA2MC40MTRjMi4zNzEgMCAzLjk3NyAxLjQ5OCAzLjk3NyA0LjE4MSAwIDMuMzctMi4yMDMgNC4zNjctNC41MTIgNC4zNjdoLTMuMDljLjAxLS4xODcgMC0uNjg1IDAtMS4zMTF2LTUuOTI4YzAtLjYyNC4wMS0xLjAyMiAwLTEuMzFoMy42MjV6bS0uNjkzIDYuOTI0YzEuMzExIDAgMi4zNzUtLjQzMyAyLjM3NS0yLjc0NCAwLTEuOTY3LTEuMDY0LTIuNjIxLTIuMzc1LTIuNjIxaC0uNjg2djUuMzY1aC42ODZ6bTguMDI5LjMxM2MwIC42MjYuMDI5IDEuMzExLjAyOSAxLjMxMWgtMi4yOTFzLjAxNi0uNjg1LjAxNi0xLjMxMXYtNS45MjhjMC0uNjI0LS4wMTYtMS4zMS0uMDE2LTEuMzFoNS40MTh2MS42NTRzLTEuMjExLS4wMzEtMS42MjEtLjAzMWgtMS41MzV2MS43MjJsMS41MzUuMDE3Yy4yODcgMCAxLjI3NS0uMDE3IDEuMjc1LS4wMTd2MS41NzRzLS44NzctLjAyMy0xLjI3NS0uMDIzbC0xLjUzNS4wMXYyLjMzMnptLTE1LjUzNS0uNDE3Yy0xLjA3OSAwLTEuOTA4LS43MjYtMS45MDgtMS44NTl2LS4wOTZzMi4wMDMtLjA1IDIuNjgyLS4wNWMxLjE1NiAwIDEuNjMxLS4wMTEgMi41NDItLjAyMnYtLjY0NmMwLTIuOTEzLTEuMjM2LTQuMzMtMy43NzktNC4zMy0xLjE3MyAwLTMuOS40NC0zLjkgNC41MiAwIDIuNzIxIDEuMzc0IDQuMzQ3IDMuNzc1IDQuMzQ3IDEuODg2IDAgMy4wNDMtLjQ4IDMuODgyLTEuMDkzLS4wOTQtLjE0Mi0uNzk3LTEuNDAzLS44ODktMS41NDEtLjUwNS4zODQtMS4zMzUuNzctMi40MDUuNzd6bS0xLjkwOS0zLjU5Yy4wMzMtLjQ5NS4yMTEtMS42NDQgMS40NTktMS42NDQgMS4yOCAwIDEuMzUxIDEuMDggMS4zNTEgMS42NDl2LjExNXMtLjg1NC4wMjMtMS4zNjUuMDIzLTEuNDUyLS4wMjMtMS40NTItLjAyM2wuMDA3LS4xMnoiLz48L3N2Zz4K")}
.lg-fram  {--ar:6.396;--lh:.68; --src:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0wLjY4MDIzODMgLTAuNjgwMjM4MyAxNTMuNzIzNzU2NiAyNC4wMzUwODY2Ij48cGF0aCBmaWxsPSIjMDkzNTdhIiBkPSJNIDguNDY2OCwwIEMgNi42ODgwNSwwIDUuMjc2ODcsMC40NDUyNCA0LjIzNDM3LDEuMzMzOTggMy4xOTA2MiwyLjIyMzk4IDIuNjY5OTIsMy41MDYwOSAyLjY2OTkyLDUuMTgzNTkgbCAwLDEuODQxOCAtMi42Njk5MiwwIDAsMy4xMjg5MSAyLjY2OTkyLDAgMCwxMi4yMDg5OCA0LjIwMzEzLDAgMCwtMTIuMjA4OTggNC42NjIxLDAgMCwtMy4xMjg5MSAtNC44NDc2NSwwIDAsLTEuNTM1MTUgYyAwLC0xLjU3NSAwLjg3OTkyLC0yLjM2MTMzIDIuNjM4NjcsLTIuMzYxMzMgMC42OTYyNSwwIDEuMjc4MDUsMC4xNTI3MyAxLjc0ODA1LDAuNDU4OTggTCAxMS42NTgyLDAuNzk2ODggQyAxMS4zMzA3LDAuNTUwNjMgMTAuODg2NzIsMC4zNTY2NCAxMC4zMjQyMiwwLjIxMjg5IDkuNzYxNzIsMC4wNzAzOSA5LjE0MTgsMCA4LjQ2NjgsMCBaIG0gNzkuNjg1NTQsMi4zMzAwOCAtNC4yMDExNywxLjE2NjAxIDAsMy41MjkzIC0yLjc5MTAyLDAgMCwzLjEyODkxIDIuNzkxMDIsMCAwLDcuODgyODEgYyAwLDMuMDg4NzUgMS43MDgwNSw0LjYzMjgxIDUuMTIzMDUsNC42MzI4MSAwLjgxODc1LDAgMS41OTgyLC0wLjExMjg5IDIuMzQ1NywtMC4zMzc4OSAwLjc0NSwtMC4yMjUgMS4zNjU0NywtMC41MzExNyAxLjg1NTQ3LC0wLjkxOTkyIGwgLTAuNjQyNTgsLTIuNzkyOTcgYyAtMC42NzUsMC41NzI1IC0xLjQ2MjU4LDAuODYxMzMgLTIuMzYxMzMsMC44NjEzMyAtMS40MTI1LDAgLTIuMTE5MTQsLTAuNzA1OTQgLTIuMTE5MTQsLTIuMTE3MTkgbCAwLC03LjIwODk4IDQuOTcwNzEsMCAwLC0zLjEyODkxIC00Ljk3MDcxLDAgMCwtNC42OTUzMSB6IE0gMjEuNDE0MDYsNi43MTg3NSBjIC0yLjMzMTI1LDAgLTMuOTE3MTEsMS4xMDM3NSAtNC43NTU4NiwzLjMxMjUgbCAtMC4yNzUzOSwtMy4wMDU4NiAtMy42NTAzOSwwIDAsMTUuMzM3ODkgNC4yMDExNywwIDAsLTcuOTQ1MzEgYyAwLC0xLjMwNzUgMC4zNjM2LC0yLjMyNjQ4IDEuMDg5ODUsLTMuMDUyNzMgMC43MjYyNSwtMC43MjYyNiAxLjU4OTI5LC0xLjA4OTg1IDIuNTkxNzksLTEuMDg5ODUgMC44MTc1LDAgMS40NjM2LDAuMTU0NjkgMS45MzM2LDAuNDYwOTQgTCAyMy4wNzAzMSw3LjA1NDY5IEMgMjIuNjgxNTYsNi44Mjk2OSAyMi4xMjkwNiw2LjcxODc1IDIxLjQxNDA2LDYuNzE4NzUgWiBtIDguNTg5ODUsMCBjIC0xLjg0LDAgLTMuMzM0MjIsMC4zNzY1NiAtNC40ODA0NywxLjEzMjgxIC0xLjE0NSwwLjc1NjI1IC0xLjg4MDc4LDEuODAwODYgLTIuMjA3MDMsMy4xMzA4NiBsIDMuMzQzNzQsMS40MTAxNiBjIDAuMjI1LC0wLjkyIDAuNjMyODIsLTEuNTg1MzkgMS4yMjY1NywtMS45OTQxNCAwLjU5Mzc1LC0wLjQwODc1IDEuMzU5NTMsLTAuNjEzMjggMi4zMDA3OCwtMC42MTMyOCAwLjgxNzUsMCAxLjQ1NjcyLDAuMjQwNyAxLjkxNzk3LDAuNzIwNyAwLjQ2LDAuNDgxMjUgMC42ODk0NSwxLjEyOTc3IDAuNjg5NDUsMS45NDcyNyBsIDAsMC43MzgyOCAtMy42ODE2NCwwLjcwNTA3IGMgLTMuOTg3NSwwLjczNjI1IC01Ljk4MjQyLDIuMzUxOTYgLTUuOTgyNDIsNC44NDU3MSAwLDEuMjcgMC40MTkwNiwyLjI0MDMxIDEuMjU3ODEsMi45MTQwNiAwLjgzODc1LDAuNjc1IDIuMDA1NTUsMS4wMTM2NyAzLjQ5ODA1LDEuMDEzNjcgMS4yODg3NSwwIDIuNDAyNSwtMC4xOTQ1MyAzLjM0Mzc1LC0wLjU4MjAzIDAuOTQsLTAuMzg4NzUgMS42MzU5NCwtMC45NjI1IDIuMDg1OTQsLTEuNzE4NzUgMC4zODg3NSwxLjUzMjUgMS41NjQ4NCwyLjMwMDc4IDMuNTI3MzQsMi4zMDA3OCAwLjc1NzUsMCAxLjQyMDM5LC0wLjE0NDY5IDEuOTk0MTQsLTAuNDI5NjggbCAwLjMwNjY0LC0yLjU0Njg4IGMgLTAuMjY2MjUsMC4wODI1IC0wLjYxNDIyLDAuMTIzMDUgLTEuMDQyOTcsMC4xMjMwNSAtMC4zOSwwIC0wLjY3NDM3LC0wLjA5MTYgLTAuODU5MzcsLTAuMjc1MzkgLTAuMTgyNSwtMC4xODUgLTAuMjc3MzUsLTAuNDgwNjMgLTAuMjc3MzUsLTAuODkwNjMgbCAwLC02LjI4OTA2IGMgMCwtMS44NjEyNSAtMC42MTIzNCwtMy4yNjY4IC0xLjgzOTg0LC00LjIxNjggLTEuMjI3NSwtMC45NTI1IC0yLjkzMzU5LC0xLjQyNTc4IC01LjEyMTA5LC0xLjQyNTc4IHogbSAxOC44NzUsMCBjIC0xLjEwNSwwIC0yLjEwMzQ0LDAuMjU0MzggLTIuOTkyMTksMC43NjU2MyAtMC44OSwwLjUxMTI1IC0xLjU5MDMxLDEuMjY3MDMgLTIuMTAxNTcsMi4yNjk1MyBsIC0wLjEyMzA0LC0yLjcyODUyIC0zLjc3MzQ0LDAgMCwxNS4zMzc4OSA0LjIwMzEzLDAgMCwtOC4xMzA4NiBjIDAsLTEuMzkxMjUgMC4zMzIzNCwtMi40Mzc1OCAwLjk5NjA5LC0zLjE0MjU4IDAuNjY1LC0wLjcwNjI1IDEuNDU3NjYsLTEuMDU4NTkgMi4zNzg5MSwtMS4wNTg1OSAwLjgzNzUsMCAxLjQ5Mjg5LDAuMjUgMS45NjI4OSwwLjc1IDAuNDcsMC41MDI1IDAuNzA1MDcsMS4yODM5MSAwLjcwNTA3LDIuMzQ3NjYgbCAwLDkuMjM0MzcgNC4yMDMxMywwIDAsLTguMjUxOTUgYyAwLC0xLjI4ODc1IDAuMzE3NDIsLTIuMjkwMzEgMC45NTExNywtMy4wMDc4MSAwLjYzMjUsLTAuNzE1IDEuNDQyNTgsLTEuMDcyMjcgMi40MjM4MywtMS4wNzIyNyAwLjgxODc1LDAgMS40NjIzNCwwLjI1IDEuOTMzNTksMC43NSAwLjQ3LDAuNTAyNSAwLjcwNTA4LDEuMjgzOTEgMC43MDUwOCwyLjM0NzY2IGwgMCw5LjIzNDM3IDQuMjAxMTcsMCAwLC0xMC4wNjI1IGMgMCwtMS44IC0wLjUxNjMyLC0zLjE3OTM3IC0xLjU0ODgyLC00LjE0MDYyIC0xLjAzMjUsLTAuOTYxMjUgLTIuMzM1MTYsLTEuNDQxNDEgLTMuOTEwMTYsLTEuNDQxNDEgLTEuMTA1LDAgLTIuMTI4MzYsMC4yNjM2NyAtMy4wNjgzNiwwLjc5NDkyIC0wLjk0MTI1LDAuNTMyNSAtMS42NTUyNCwxLjMwMTQ5IC0yLjE0NjQ4LDIuMzAyNzQgQyA1My40Njg5LDguODE1MTYgNTIuODE5NjksOC4wNDYxNyA1MS45Mjk2OSw3LjUxMzY3IDUxLjAzOTY5LDYuOTgyNDIgNTAuMDIzOSw2LjcxODc1IDQ4Ljg3ODkxLDYuNzE4NzUgWiBtIDI0LjExOTE0LDAgYyAtMS44NCwwIC0zLjMzMzUyLDAuMzc2NTYgLTQuNDc4NTIsMS4xMzI4MSAtMS4xNDUsMC43NTYyNSAtMS44ODE0OCwxLjgwMDg2IC0yLjIwODk4LDMuMTMwODYgbCAzLjM0NTcsMS40MTAxNiBjIDAuMjIzNzUsLTAuOTIgMC42MzI4MSwtMS41ODUzOSAxLjIyNjU2LC0xLjk5NDE0IDAuNTkyNSwtMC40MDg3NSAxLjM1ODgzLC0wLjYxMzI4IDIuMjk4ODMsLTAuNjEzMjggMC44MTg3NSwwIDEuNDU4NjcsMC4yNDA3IDEuOTE5OTIsMC43MjA3IDAuNDU4NzUsMC40ODEyNSAwLjY4OTQ1LDEuMTI5NzcgMC42ODk0NSwxLjk0NzI3IGwgMCwwLjczODI4IC0zLjY4MTY0LDAuNzA1MDcgYyAtMy45ODg3NSwwLjczNjI1IC01Ljk4MjQyLDIuMzUxOTYgLTUuOTgyNDIsNC44NDU3MSAwLDEuMjcgMC40MTkwNiwyLjI0MDMxIDEuMjU3ODEsMi45MTQwNiAwLjgzODc1LDAuNjc1IDIuMDA0MywxLjAxMzY3IDMuNDk4MDUsMS4wMTM2NyAxLjI4NzUsMCAyLjQwMjUsLTAuMTk0NTMgMy4zNDM3NSwtMC41ODIwMyAwLjk0LC0wLjM4ODc1IDEuNjM1OTQsLTAuOTYyNSAyLjA4NTk0LC0xLjcxODc1IDAuMzg3NSwxLjUzMjUgMS41NjQ4NCwyLjMwMDc4IDMuNTI3MzQsMi4zMDA3OCAwLjc1NzUsMCAxLjQyMTY0LC0wLjE0NDY5IDEuOTk0MTQsLTAuNDI5NjggbCAwLjMwNjY0LC0yLjU0Njg4IGMgLTAuMjY2MjUsMC4wODI1IC0wLjYxMjk3LDAuMTIzMDUgLTEuMDQyOTcsMC4xMjMwNSAtMC4zODg3NSwwIC0wLjY3NTYyLC0wLjA5MTYgLTAuODU5MzcsLTAuMjc1MzkgLTAuMTgzNzUsLTAuMTg1IC0wLjI3NTM5LC0wLjQ4MDYzIC0wLjI3NTM5LC0wLjg5MDYzIGwgMCwtNi4yODkwNiBjIDAsLTEuODYxMjUgLTAuNjE0MywtMy4yNjY4IC0xLjg0MTgsLTQuMjE2OCAtMS4yMjc1LC0wLjk1MjUgLTIuOTM0MjksLTEuNDI1NzggLTUuMTIzMDQsLTEuNDI1NzggeiBtIC00MC4yMDMxMyw5LjA0ODgzIDAsMS41OTU3IGMgMCwwLjc1NjI1IC0wLjM3NDg0LDEuMzUyOTcgLTEuMTIxMDksMS43OTI5NyAtMC43NDYyNSwwLjQ0IC0xLjU3LDAuNjYwMTYgLTIuNDY4NzUsMC42NjAxNiAtMC41NTI1LDAgLTAuOTgwODYsLTAuMTI2NTcgLTEuMjg3MTEsLTAuMzgyODIgLTAuMzA3NSwtMC4yNTUgLTAuNDYwOTQsLTAuNjI5ODQgLTAuNDYwOTQsLTEuMTIxMDkgMCwtMC40OSAwLjE2ODM2LC0wLjg3MjE5IDAuNTA1ODYsLTEuMTQ4NDQgMC4zMzYyNSwtMC4yNzYyNSAwLjg1MzgzLC0wLjQ5NjQgMS41NDg4MywtMC42NjAxNSBsIDMuMjgzMiwtMC43MzYzMyB6IG0gNDIuOTk2MDksMCAwLDEuNTk1NyBjIDAsMC43NTYyNSAtMC4zNzM1OSwxLjM1Mjk3IC0xLjEyMTA5LDEuNzkyOTcgLTAuNzQ2MjUsMC40NCAtMS41Njg3NSwwLjY2MDE2IC0yLjQ2ODc1LDAuNjYwMTYgLTAuNTUyNSwwIC0wLjk4MDg2LC0wLjEyNjU3IC0xLjI4NzExLC0wLjM4MjgyIC0wLjMwNzUsLTAuMjU1IC0wLjQ2Mjg5LC0wLjYyOTg0IC0wLjQ2Mjg5LC0xLjEyMTA5IDAsLTAuNDkgMC4xNzAzMSwtMC44NzIxOSAwLjUwNzgxLC0xLjE0ODQ0IDAuMzM3NSwtMC4yNzYyNSAwLjg1MzgzLC0wLjQ5NjQgMS41NDg4MywtMC42NjAxNSBsIDMuMjgzMiwtMC43MzYzMyB6Ii8+PHBhdGggZmlsbD0iIzA5MzU3YSIgZD0ibSAxMjAuMzIwMzEsNi43MTg3NSBjIC0xLjEwNSwwIC0yLjEwMjE5LDAuMjU0MzggLTIuOTkyMTksMC43NjU2MyAtMC44OSwwLjUxMTI1IC0xLjU5MTU2LDEuMjY3MDMgLTIuMTAxNTYsMi4yNjk1MyBsIC0wLjEyMTA5LC0yLjcyODUyIC0zLjc3NTM5LDAgMCw0LjE4NTU1IDMuNDcyNjUsMy40NzQ2MSAtMy40NzI2NSwzLjQ3MDcgMCw0LjIwNzAzIDQuMjAzMTIsMCAwLC04LjEzMDg2IGMgMCwtMS4zOTEyNSAwLjMzMzA1LC0yLjQzNzU4IDAuOTk4MDUsLTMuMTQyNTggMC42NjM3NSwtMC43MDYyNSAxLjQ1NTcsLTEuMDU4NTkgMi4zNzY5NSwtMS4wNTg1OSAwLjgzNzUsMCAxLjQ5Mjg5LDAuMjUgMS45NjI4OSwwLjc1IDAuNDcxMjUsMC41MDI1IDAuNzA1MDgsMS4yODM5MSAwLjcwNTA4LDIuMzQ3NjYgbCAwLDkuMjM0MzcgNC4yMDMxMywwIDAsLTguMjUxOTUgYyAwLC0xLjI4ODc1IDAuMzE2MTcsLTIuMjkwMzEgMC45NTExNywtMy4wMDc4MSAwLjYzMzc1LC0wLjcxNSAxLjQ0MjU4LC0xLjA3MjI3IDIuNDIzODMsLTEuMDcyMjcgMC44MTc1LDAgMS40NjE2NCwwLjI1IDEuOTMxNjQsMC43NSAwLjQ3MTI1LDAuNTAyNSAwLjcwNzAzLDEuMjgzOTEgMC43MDcwMywyLjM0NzY2IGwgMCw5LjIzNDM3IDQuMjAxMTcsMCAwLC0xMC4wNjI1IGMgMCwtMS44IC0wLjUxNTYzLC0zLjE3OTM3IC0xLjU0Njg4LC00LjE0MDYyIC0xLjAzMzc1LC0wLjk2MTI1IC0yLjMzNzExLC0xLjQ0MTQxIC0zLjkxMjExLC0xLjQ0MTQxIC0xLjEwNSwwIC0yLjEyODM1LDAuMjYzNjcgLTMuMDY4MzUsMC43OTQ5MiAtMC45NDEyNSwwLjUzMjUgLTEuNjU2NDksMS4zMDE0OSAtMi4xNDY0OSwyLjMwMjc0IC0wLjQxLC0xLjAwMTI1IC0xLjA1OTIyLC0xLjc3MDI0IC0xLjk0OTIyLC0yLjMwMjc0IC0wLjg5LC0wLjUzMTI1IC0xLjkwNTc4LC0wLjc5NDkyIC0zLjA1MDc4LC0wLjc5NDkyIHogbSAyNC42NTAzOSwwIGMgLTIuNDU1LDAgLTQuMzU3MDMsMC42OTk2MSAtNS43MDcwMywyLjA5OTYxIC0xLjM0ODc1LDEuNDAxMjUgLTIuMDIzNDQsMy4zNiAtMi4wMjM0NCw1Ljg3NSAwLDIuNTE2MjUgMC42OTQ2OSw0LjQ3Mzc1IDIuMDg1OTQsNS44NzUgMS4zOTEyNSwxLjQwMTI1IDMuMzUzNjcsMi4xMDE1NiA1Ljg4ODY3LDIuMTAxNTYgMS43Mzg3NSwwIDMuMTg1NTUsLTAuMzIzMDQgNC4zNDE4LC0wLjk2Njc5IDEuMTU1LC0wLjY0Mzc1IDEuOTc4NzUsLTEuNTc5MTUgMi40Njg3NSwtMi44MDY2NSBsIC0zLjQzNTU1LC0xLjI1NzgxIGMgLTAuMjI2MjUsMC42MTM3NSAtMC42MjQ3NiwxLjA4MjY2IC0xLjE5NzI2LDEuNDEwMTYgLTAuNTcxMjUsMC4zMjc1IC0xLjI5ODk5LDAuNDkyMTkgLTIuMTc3NzQsMC40OTIxOSAtMi4xMjc1LDAgLTMuNDAzMjgsLTEuMDgzMjEgLTMuODMyMDMsLTMuMjUxOTYgbCAxMC44NTc0MiwwIGMgMC4wODEzLC0wLjUzMTI1IDAuMTIzMDUsLTEuMDgzNzUgMC4xMjMwNSwtMS42NTYyNSAwLC0yLjUzNSAtMC42NDA0NywtNC40ODkzNyAtMS45MTc5NywtNS44NTkzNyAtMS4yNzc1LC0xLjM3IC0zLjEwMzM2LC0yLjA1NDY5IC01LjQ3NDYxLC0yLjA1NDY5IHogbSAtMC4wMzEyLDMuMDk3NjYgYyAwLjk4MTI1LDAgMS43Nzg4MywwLjMwMTc5IDIuMzkyNTgsMC45MDQyOSAwLjYxMzc1LDAuNjAzNzUgMS4wMDIyNywxLjQ3ODA1IDEuMTY2MDIsMi42MjMwNSBsIC03LjE0NjQ5LDAgYyAwLjE2MjUsLTEuMTY1IDAuNTQ0NjksLTIuMDQ2MTcgMS4xNDg0NCwtMi42Mzg2NyAwLjYwMjUsLTAuNTkyNSAxLjQxNjk1LC0wLjg4ODY3IDIuNDM5NDUsLTAuODg4NjcgeiIvPjxwYXRoIGZpbGw9IiNmZTU4MTUiIGQ9Im0gMTAxLjM0MjAzLDIyLjY3NDYxIGMgLTQuNDA2MjUsMCAtNy45OSwtMy41ODUgLTcuOTksLTcuOTkgMCwtNC40MDYyNSAzLjU4Mzc1LC03Ljk5IDcuOTksLTcuOTkgMi4xMjg3NSwwIDQuMTMxMjUsMC44Mjc1IDUuNjQsMi4zMzEyNSBsIDUuNjU4NzUsNS42NTg3NSAtNS42NTg3NSw1LjY1ODc1IGMgLTEuNTA4NzUsMS41MDM3NSAtMy41MTEyNSwyLjMzMTI1IC01LjY0LDIuMzMxMjUgbSAwLC0xMi4wNTI1IGMgLTIuMjQxMjUsMCAtNC4wNjI1LDEuODIyNSAtNC4wNjI1LDQuMDYyNSAwLDIuMjQgMS44MjEyNSw0LjA2MjUgNC4wNjI1LDQuMDYyNSAxLjA4MTI1LDAgMi4wOTg3NSwtMC40MiAyLjg2NSwtMS4xODM3NSBsIDIuODc4NzUsLTIuODc4NzUgLTIuODc4NzUsLTIuODggYyAtMC43NjUsLTAuNzYyNSAtMS43ODI1LC0xLjE4MjUgLTIuODY1LC0xLjE4MjUiLz48L3N2Zz4K")}
.lg-orano {--ar:3.200;--lh:1;   --src:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1NTguOTU5MDUiIGhlaWdodD0iMTc0LjY0MjU5IiB2aWV3Qm94PSIwIDAgNTU4Ljk1OTA1IDE3NC42NDI1OSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMy4wMzYwNDQ4LDAsMCwzLjAzNjA0NDgsLTI0MzEuNzA2MiwtMjEuOTk0NTA1KSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4zOTUyMDEsMCwwLDAuMzk1MjAxLDgwMy4zNDksOCkiIGZpbGw9IiNmZmU2MDAiPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0ibSA5OC41LDEzNC4xIGMgMTMuNSwtOS42IDIyLC0xOC45IDMxLjYsLTM2LjUgNS42LC05LjcgMTEuNCwtNDUuMyA1LjEsLTY5LjUgNi45LDEyLjUgOCwzOC4xIDIsNTcuOSAtNS45LDIwLjcgLTE4LjgsMzUuNiAtMzguNyw0OC4xIG0gLTE1LjIsMi4yIGMgLTExLjksLTAuOCAtMjAuNCwtNS44IC0yOS43LC0xMiAyNS4xLDguNCA0Ni4yLC0yLjggNTkuNywtNDAgNS44LC03LjggNy42LC0xMy41IDkuMywtMjAuMyAtMi43LDIyLjYgLTE1LjQsNjQuMSAtMzkuMyw3Mi4zIE0gMzcuNywxMTYuNyBjIDMuNiwyLjcgOC4yLDQuOSAxMi4yLDYuMyAxNC4zLDkuOSAyOC42LDEzLjcgMzAsMTQgLTE2LjUsMS42IC0yOS43LC04LjkgLTQyLjIsLTIwLjMgTSAyMC41LDQ5LjggQyAxLjYsODAuNiAyNiwxMTUuMyA1MS43LDEzMS4yIDMyLjEsMTI1LjggMTcuNywxMDggMTEuMSw5My4xIDQuNyw3Ny4zIDYsNjQuNSAyMC41LDQ5LjggbSA4OS4zLDM5LjEgQyA5OS40LDExNC40IDg0LjEsMTI1LjcgNjcuNSwxMjQgNDcuNCwxMjIuNSAzOC42LDExNi43IDI4LDEwMC40IGMgMCwwIDAsMC4xIDAuMSwwLjEgLTMuNCwtNS41IC01LC0xMy4zIC01LjMsLTE5LjQgMTIuOCwzMSA2MSw0MC43IDg3LDcuOCBNIDUzLjEsMzQuNiBDIDY2LjMsMjMgODEuNywxNC42IDk2LDE1LjEgYyAyNS4zLDEuMiAyNS44LDQwLjkgMTUuNyw2OC44IC0yNywzNi44IC03Mi40LDI2LjMgLTgyLjksLTEuMyAtMywtMTMuMSAzLjUsLTI5LjUgMjQuMywtNDggbSA2Mi4yLDQ0IGMgNSwtMTYuNCA2LjQsLTM0LjEgMi4zLC00OC45IDkuNCwxNSA3LjMsMzMuNyAtMi4zLDQ4LjkgbSA5LjksLTQ5LjggYyAwLjYsNCAwLjksOS4yIC0wLjUsMTguMyAtMS40LC0xNi45IC0xMi43LC0zMi44IC0yMy41LC0zNS41IDExLjIsMC4xIDE5LjMsNCAyNCwxNy4yIG0gLTEuMyw0MCBjIDEuMiwtOC40IDEuMiwtMTYuNCAxLjIsLTE2LjQgMC42LC0zLjUgMS44LC0xMCAxLjgsLTE2LjcgMTAuMiwzMCAtMSw3MC4xIC0yNC43LDkwLjggNi42LC05LjMgMTcuOCwtMzEuNyAyMS43LC01Ny43IG0gLTE0LDU0LjEgYyA4LjYsLTEyLjIgMTkuNCwtMzIuOCAyMiwtNTQuOSAwLjQsLTQgMi4xLC00MS45IC0xMy44LC01OC40IDE1LjksNS4zIDIwLjksMzMuMyAxOC4zLDU2LjQgLTIuNiwyNC4zIC0xMi43LDQzLjcgLTI2LjUsNTYuOSBNIDEzMi40LDEyLjEgQyAxMjkuMSw2LjYgMTE2LjgsLTIgOTUuOCwwLjQgNjkuNSwwLjQgNDQuMiwxNC42IDI3LDI4LjEgOS42LDQyLjEgMC4xLDU1LjMgMCw2Mi44IGMgLTAuMiw5LjQgNSwyOS4xIDE1LjMsNDQuNSAxMC4xLDE0LjYgMTkuMSwxOS43IDMyLjgsMjYuNyAxMy41LDcuMiAzMS4zLDExLjMgNDQuOCwzLjYgMTcsLTMuNiAzMi41LC0yMy4xIDQyLjIsLTQzLjUgOS40LC0xOS4yIDEyLjMsLTU4LjggLTIuNywtODIiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4zOTUyMDEsMCwwLDAuMzk1MjAxLDgwMy4zNDksOCkiIGZpbGw9IiMwMDAwMDAiPjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZD0ibSAyMDAuOSw4NC4xIGMgNy44LDAgMTMuMiwtNi4xIDEzLjIsLTEzLjcgMCwtNy42IC01LjMsLTEzLjggLTEzLjIsLTEzLjggLTcuOCwwIC0xMy4yLDYuMiAtMTMuMiwxMy44IDAuMSw3LjYgNS40LDEzLjcgMTMuMiwxMy43IG0gMCwtNDAgYyAxNS4xLDAgMjYuNSwxMS44IDI2LjUsMjYuMyAwLDE0LjYgLTExLjQsMjYuMiAtMjYuNSwyNi4yIC0xNS4xLDAgLTI2LjUsLTExLjYgLTI2LjUsLTI2LjIgMCwtMTQuNiAxMS40LC0yNi4zIDI2LjUsLTI2LjMgbSA2Ny4zLDAgMCwxMyBjIC04LjMsMCAtMTIuNiwxLjIgLTE2LDMgbCAwLDM1LjUgLTEzLjQsMCAwLC00Mi45IGMgNy43LC02IDE3LjQsLTguNiAyNy44LC04LjYgbCAxLjYsMCBtIDg1LjcsOC44IGMgMCwtNC4yIDUuMSwtOC44IDE0LjEsLTguOCA2LjksMCAxMy4yLDMuMSAxNy4zLDguMSAzLjMsNCA1LjEsOS4xIDUuMSwxNy43IGwgMCwyNS43IC0xMy40LDAgMCwtMjYuOCBjIDAsLTUgLTEuMSwtNy42IC0zLC05LjUgLTEuNywtMS44IC00LjQsLTIuOCAtNy41LC0yLjggLTUuNywwIC0xMC4zLDMuNiAtMTIuMSw2LjIgbCAwLDMyLjggLTEzLjQsMCAwLC01MC40IDEyLjksMCAwLDcuOCAwLDAgbSA3My4zLDMxLjIgYyA3LjgsMCAxMy4yLC02LjEgMTMuMiwtMTMuNyAwLC03LjYgLTUuMywtMTMuOCAtMTMuMiwtMTMuOCAtNy44LDAgLTEzLjIsNi4yIC0xMy4yLDEzLjggMCw3LjYgNS40LDEzLjcgMTMuMiwxMy43IG0gMCwtNDAgYyAxNS4xLDAgMjYuNSwxMS44IDI2LjUsMjYuMyAwLDE0LjYgLTExLjQsMjYuMiAtMjYuNSwyNi4yIC0xNS4xLDAgLTI2LjUsLTExLjYgLTI2LjUsLTI2LjIgMCwtMTQuNiAxMS40LC0yNi4zIDI2LjUsLTI2LjMgTSAzMTIuOSw1OS44IGMgLTMsLTIuNCAtNi4xLC0zLjYgLTExLjIsLTMuNiAtOSwwIC0xNCw2LjkgLTE0LDE0LjEgMCw3LjggNS43LDE0IDEzLjIsMTQgNSwwIDkuNSwtMi41IDEyLC02LjIgbCAwLC0xOC4zIG0gMTMuNCwtNS43IDAsNDEuNSAtMTIuOSwwIDAsLTcuNyBjIDAsMy44IC03LjksOC43IC0xNSw4LjcgLTE0LjUsMCAtMjQuMSwtMTAuOCAtMjQuMSwtMjYuMyAwLC0xNC43IDExLjEsLTI2LjQgMjYuNCwtMjYuNCAxMC4yLC0wLjEgMTguMywzIDI1LjYsMTAuMiIvPjwvZz48L2c+PC9zdmc+Cg==")}
.lg-naval {--ar:3.542;--lh:1;   --src:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzcuNDQ3MjcgNTAuMDk0ODAzIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTguNjUyNzE1LC00OC4wOTQ2MjIpIj48cGF0aCBmaWxsPSIjZTQwODI4IiBkPSJtIDEyMS40Nzc3OSw1OS43Mjk1NSBjIC0wLjI5MSwtMC40NTYxNDIgLTEuOTc2NTYsLTMuMjEwNTk5IC0zLjc0NTcsLTYuMTIxMDE2IGwgLTMuMjE2NiwtNS4yOTE2NjYgNy4yOTM1LC0wLjA5NTUxIGMgNC4wMTE0MywtMC4wNTI1MyA3LjM3MTEsLTAuMDE3OTEgNy40NjU5NCwwLjA3NjkzIDAuMTUzNDcsMC4xNTM0NjcgLTQuNDQ4MDYsOC4wMTc1MjggLTYuNDgyMzksMTEuMDc4NDg1IGwgLTAuNzg1NjUsMS4xODIxMjcgeiIgLz48cGF0aCBmaWxsPSIjMTAzNDk0IiBkPSJtIDc2LjA0NDAzNSw5Ny42OTk1NTMgYyAtNS4yMDg4MiwtMS45NDEyNiAtNS4yMDY5NywtOC44MTYzMSAwLjAwMywtMTAuNTkxNDggMy4wNzk5MiwtMS4wNDk0MyA2LjAyMzIyLC0wLjUyNTYgNy44OTQ0NCwxLjQwNTAyIGwgMS4xMjU0OCwxLjE2MTIgLTEuNzIxNTgsMC41MDU5NyBjIC0xLjQ1ODk1LDAuNDI4NzkgLTEuODI3NzUsMC40MzI0NiAtMi40MTc0NCwwLjAyNDEgLTAuOTMyNjUsLTAuNjQ1OTEgLTMuMDIwMjMsLTAuNjEwNzEgLTMuOTg4MTUsMC4wNjczIC0wLjU4NDgyLDAuNDA5NjMgLTAuNzg0MDUsMC45MDI2NiAtMC43ODQwNSwxLjk0MDI4IDAsMS45NTk1OSAwLjkzMTcsMi44MDM3NiAzLjA4NjgsMi43OTY4MiAxLjQ2ODYsLTAuMDA1IDMuMzI5MjQsLTAuNTg5NTggMi4zODEyNSwtMC43NDg0OSAtMC4xOTQwMiwtMC4wMzI1IC0wLjUxMTUyLC0wLjA5NiAtMC43MDU1NSwtMC4xNDEwOSAtMC4xOTQwMywtMC4wNDUxIC0wLjcxMTQzLC0wLjEwMDI4IC0xLjE0OTc3LC0wLjEyMjY2IGwgLTAuNzk2OTcsLTAuMDQwNyAwLjc5Njk5LC0xLjIzMDM2IGMgMC43Nzk5OSwtMS4yMDQxIDAuODQ3NzksLTEuMjMwNDUgMy4xNzgyNCwtMS4yMzQ3MiBsIDIuMzgxMjUsLTAuMDA0IHYgMi40ODkyOCAyLjQ4OTI4IGwgLTEuNjcwMDEsMC43Mzg3MyBjIC0yLjExMzI2LDAuOTM0OCAtNS43OTMxMSwxLjE3NDUxIC03LjYxMzc2LDAuNDk1OTggeiBtIDExLjgzMjY3LC01LjI0MzEzIDAuMDk2OSwtNS43MzI2MyAyLjgyMjIyLC0wLjExMTE3IGMgNC4xNjQ4MiwtMC4xNjQwNyA2LjM1MzE1LDAuMTg3MzQgNy41NzYzNywxLjIxNjYxIDEuODU2Mzg1LDEuNTYyMDQgMS43NTA1NDUsNC41NTQzMSAtMC4yMTU3OSw2LjEwMTAzIC0xLjA1Njc1LDAuODMxMjQgLTEuMDQ2MjYsMS4xMTUyMyAwLjA4MDEsMi4xNjg4NCAwLjUwMjg4NywwLjQ3MDM4IDEuMDY0MDk3LDEuMTMzMDUgMS4yNDcxMzcsMS40NzI2IDAuMzAxMTgsMC41NTg3MyAwLjExNTM3LDAuNjE3MzYgLTEuOTU2NTE3LDAuNjE3MzYgaCAtMi4yODkzMSBsIC0xLjI1MDg4LC0xLjYzODIzIGMgLTAuOTMzMTgsLTEuMjIyMTUgLTEuMjUwODgsLTEuOTgzNzQgLTEuMjUwODgsLTIuOTk4NjEgMCwtMS4zMTY5IDAuMDM5MSwtMS4zNjAzOCAxLjIyMjMxLC0xLjM2MDM4IDAuODQ1OTUsMCAxLjMzNDM3LC0wLjIwOTM4IDEuNTg2MjQsLTAuNjggMC43NTIzLC0xLjQwNTY5IC0wLjQ0NTMzLC0yLjMzNjY5IC0yLjY3NzczLC0yLjA4MTU3IGwgLTEuMDEyNzYsMC4xMTU3NCAtMC4wOTkxLDQuMzIxNTIgLTAuMDk5MSw0LjMyMTUzIGggLTEuOTM4MTYgLTEuOTM4MTYgeiBtIDE3LjM4MzAzNSw1LjMwMTcxIGMgLTIuNzY5NzQsLTAuOTgyIC00LjA1Njk0LC0yLjcyNTk4IC00LjA1Njk0LC01LjQ5NjYgMCwtMy40NzQyIDIuNTY4MjgsLTUuNTQwMzYgNi44NzkxNiwtNS41MzQyMyA0LjI4NzE3LDAuMDA2IDYuODgwODUsMi4xOTc3NyA2Ljg3Nzg2LDUuODExODEgLTAuMDAyLDIuMjUxOTEgLTEuMDE0OSwzLjczNDY0IC0zLjI2ODQsNC43ODM4MSAtMS45OTE5LDAuOTI3MzggLTQuNTU0NDUsMS4xMDA3NyAtNi40MzE2OCwwLjQzNTIxIHogbSA1LjA4OTY3LC0zLjY3MzU5IGMgMC40MDIxNSwtMC41MTEyMyAwLjczMTE3LC0xLjI4MzU3IDAuNzMxMTcsLTEuNzE2MzEgMCwtMC40MzI3NCAtMC4zMjkwMiwtMS4yMDUwOCAtMC43MzExNywtMS43MTYzMSAtMC45NzY5NiwtMS4yNDIgLTMuNDU2MzUsLTEuMzI3ODYgLTQuNTQ2NzYsLTAuMTU3NDUgLTAuOTQxNjcsMS4wMTA3NiAtMC45MjAyMywyLjY3MjczIDAuMDQ3OCwzLjcwMzExIDEuMTM1MzQsMS4yMDg1MSAzLjUwNjM0LDEuMTQ4OTUgNC40OTkwMSwtMC4xMTMwNCB6IG0gMTAuMDE1MTgsMy42NzE0NiBjIC0wLjYxNzYyLC0wLjE5ODU3IC0xLjU3MDEyLC0wLjgyNzM1IC0yLjExNjY3LC0xLjM5NzMxIC0wLjk3ODc0LC0xLjAyMDY1IC0wLjk5MzczLC0xLjEwMTEzIC0wLjk5MzczLC01LjMzNTU5IHYgLTQuMjk5MzEgbCAxLjg1MjA5LC0wLjEwNjYzIDEuODUyMDgsLTAuMTA2NjMgdiAzLjU2OTQgYyAwLDEuOTYzMTcgMC4xNjQzMywzLjg3NjQ3IDAuMzY1MTksNC4yNTE3NyAwLjQyODg3LDAuODAxMzUgMi41MDIyNCwwLjk0ODg3IDMuMTA2MywwLjIyMTAyIDAuMjEwNTksLTAuMjUzNzUgMC40Mjg0NiwtMi4xMTkwNiAwLjQ4NDE3LC00LjE0NTE0IGwgMC4xMDEyOCwtMy42ODM3OSAxLjg1MjA5LC0wLjEwNjYzIDEuODUyMDgsLTAuMTA2NjMgdiA0LjIzOTQ5IGMgMCw0LjIzMjY0IC0wLjAwMiw0LjI0MTQ5IC0xLjA4NzM2LDUuNDc3OTIgLTEuNTkxMjgsMS44MTIzNyAtNC40ODg0OSwyLjQyMTU0IC03LjI2NzUyLDEuNTI4MDYgeiBtIDExLjMzMjU3LC0wLjAyMzQgYyAtMC4wOTYzLC0wLjI1MTA2IC0wLjEzMTA0LC0yLjgzMDc1IC0wLjA3NzEsLTUuNzMyNjQgbCAwLjA5OCwtNS4yNzYxNSAzLjg4MDU2LDAuMDA3IGMgNC4yNDgwOSwwLjAwNyA1LjQyMzM2LDAuMzYxODUgNi42MzcxLDIuMDAyMTkgMS4zMTE0OCwxLjc3MjQzIDAuNTMxMjMsNC40NDA2NyAtMS42MDUyMiw1LjQ4OTQgLTAuNDk2MDMsMC4yNDM0OSAtMS42MzI2OSwwLjU0Mjg4IC0yLjUyNTkxLDAuNjY1MzEgbCAtMS42MjQwMywwLjIyMjYxIHYgLTEuNDM1NjMgYyAwLC0xLjI4OTYxIDAuMDk1MSwtMS40NDY5OCAwLjkzNDU2LC0xLjU0NzI2IDIuMzE1MTUsLTAuMjc2NTIgMS45MTg4NiwtMi41ODEwNiAtMC40NDM4NCwtMi41ODEwNiBoIC0xLjM3MjY2IGwgLTAuMDk5MSw0LjMyMTUyIC0wLjA5OTEsNC4zMjE1MyBoIC0xLjc2NDEgYyAtMS4xMTc3OSwwIC0xLjgyODI4LC0wLjE2NzI0IC0xLjkzOTI3LC0wLjQ1NjQ3IHogTSAxOC42NTI4MDUsNjIuNTU4NTEzIFYgNDguMDk0NjIyIGggNC40OTk5MiA0LjQ5OTkzIGwgOC40NjQ2Niw3Ljc3ODAzNyA4LjQ2NDY2LDcuNzc4MDM0IDAuMDk0OSwtNy43NzgwMzQgMC4wOTQ5LC03Ljc3ODAzNyBoIDQuNzU1NzUgNC43NTU3NSB2IDE0LjQ2Mzg5MSAxNC40NjM4OSBsIC00LjQ5NzkyLC0wLjAwOSAtNC40OTc5MSwtMC4wMDkgLTYuODc5MTcsLTYuMTczMzQgYyAtMy43ODM1NCwtMy4zOTUzNCAtNy42MzMyMywtNi44MTkxOSAtOC41NTQ4NiwtNy42MDg1NSBsIC0xLjY3NTcsLTEuNDM1MiB2IDcuNjE3NTggNy42MTc1NyBoIC00Ljc2MjUgLTQuNzYyNSB6IG0gNDAuNjc1MDUsMTQuMTk5MyBjIDAuMDgxLC0wLjE0NTUyIDIuOTc0MjYsLTQuOTQ3NyA2LjQyOTUsLTEwLjY3MTUyIDMuNDU1MjQsLTUuNzIzODIgNy4zMDg0NywtMTIuMTEzNTEyIDguNTYyNzQsLTE0LjE5OTMxIGwgMi4yODA0OCwtMy43OTIzNjEgMi41MTE1MywwLjAwMzcgMi41MTE1MywwLjAwMzcgOC42NDMwNiwxNC4xNjg0MDEgYyA0Ljc1MzY4LDcuNzkyNjIgOC42OTU5NjcsMTQuMjk5NjkgOC43NjA2MzcsMTQuNDYwMTUgMC4wNjQ3LDAuMTYwNDYgLTIuMjYzOTI3LDAuMjkxNzUgLTUuMTc0Njk3LDAuMjkxNzUgaCAtNS4yOTIyOSBsIC0wLjc3Mjg0LC0xLjI1MDQ5IC0wLjc3Mjg0LC0xLjI1MDQ4IC01Ljk1OTE2LDAuMTAzOTYgYyAtMy4yNzc1NCwwLjA1NzIgLTUuOTU4OTYsMC4wNTI3IC01Ljk1ODcxLC0wLjAxIDIuNWUtNCwtMC4wNjI2IDAuODMzODksLTEuNTI3MjggMS44NTI1NCwtMy4yNTQ3OCBsIDEuODUyMDgsLTMuMTQwOTEgMi4wMzE2OSwtMC4wMDggMi4wMzE2OCwtMC4wMDggLTEuNzk0MzMsLTMuNTc1NjMgLTEuNzk0MzMsLTMuNTc1NjMgLTQuNzQ1MSw3Ljk4NTM1IC00Ljc0NTA5LDcuOTg1MzkgaCAtNS4zMDI2NiBjIC0yLjkxNjQ3LDAgLTUuMjM2NCwtMC4xMTkwNyAtNS4xNTU0MiwtMC4yNjQ1OSB6IG0gNDMuOTkxNjA1LC0xMy45NDMwMiBjIC00Ljc1MzY3NSwtNy43ODYxNTUgLTguNjk1OTY1LC0xNC4yODM0MzggLTguNzYwNjM1LC0xNC40Mzg0MDggLTAuMDY0NywtMC4xNTQ5NyAyLjU1ODU3LC0wLjI4MTc2MyA1LjgyOTQyNSwtMC4yODE3NjMgaCA1Ljk0NzAzIGwgNS43MjQwNSw5LjQ3OTM1NCBjIDMuMTQ4MjIsNS4yMTM2NDcgNS43MjQwMyw5LjY0NjY3NyA1LjcyNDAzLDkuODUxMTc3IDAsMC4zMzQwNiAtNS4wNDQzNyw4LjcyNjAzIC01LjU5NDQ5LDkuMzA3MTggLTAuMTI0NDksMC4xMzE1MSAtNC4xMTU3MywtNi4xMzEzOCAtOC44Njk0MSwtMTMuOTE3NTQgeiBtIDIwLjg3OTksMTMuODMzMjEgYyAwLjA2ODYsLTAuMjA1OTIgMy45MzE1NiwtNi43MTI5IDguNTg0MjYsLTE0LjQ1OTk2IGwgOC40NTk0NiwtMTQuMDg1NTcxIDIuNTgyMzQsMC4wODQyNyAyLjU4MjM0LDAuMDg0MjcgNS43MTkxOSw5LjM0ODYxMSBjIDMuMTQ1NTYsNS4xNDE3NCA3LjEwMjk1LDExLjYxMDggOC43OTQyLDE0LjM3NTcgbCAzLjA3NTAxLDUuMDI3MDggaCAtNS40MTE5NiAtNS40MTE5NiBsIC0wLjY3MjkxLC0xLjI0OTk3IC0wLjY3MjkyLC0xLjI0OTk2IC01LjkwOTQ3LDAuMTAzNDQgYyAtMy4yNTAyMiwwLjA1NjkgLTUuOTA5MjgsLTAuMDM1NyAtNS45MDkwMywtMC4yMDU3MyAyLjRlLTQsLTAuMTcwMDQgMC44MTU2NSwtMS42Mzg0NyAxLjgxMiwtMy4yNjMxOSBsIDEuODExNTUsLTIuOTU0MDQgaCAxLjg5MjYyIGMgMS4wNDA5NCwwIDEuODkyNjEsLTAuMDgyNSAxLjg5MjYxLC0wLjE4MzQzIDAsLTAuNDQ3ODYgLTMuMjA5MjksLTYuNTE4NyAtMy40NDMxMiwtNi41MTMxNyAtMC4xNDM1OCwwLjAwMyAtMi4zMjQ3OSwzLjQ5NTY0IC00Ljg0NzE1LDcuNzYwNTMgbCAtNC41ODYxMiw3Ljc1NDM1IC01LjIzMjg2LDcuMWUtNCBjIC0zLjUzMzQ4LDMuNWUtNCAtNS4xOTIzNSwtMC4xMjEwMSAtNS4xMDgwOCwtMC4zNzM4MiB6IG0gNDQuMzg0LC0xNC4wODk0OSBWIDQ4LjA5NDYyMiBoIDQuNzU3NDcgNC43NTc0OCBsIDAuMDkzMiwxMS4wMjQzMDEgMC4wOTMyLDExLjAyNDMxIDguOTA3NjQsMC4wOTQzIGMgNC44OTkyLDAuMDUxOCA4LjkwNzYzLDAuMTgyNDUgOC45MDc2MywwLjI5MDI2IDAsMC4xMDc4IC0wLjgzMzQzLDEuNjA5NDEgLTEuODUyMDgsMy4zMzY5MSBsIC0xLjg1MjA4LDMuMTQwOTEgLTExLjkwNjI1LDAuMDA4IC0xMS45MDYyNSwwLjAwOCB6IiAvPjwvZz48L3N2Zz4K")}
.lg-vinci {--ar:3.873;--lh:.88; --src:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzUuNzQ4IDQ1LjM3NSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC45NzE2OTk0LDAsMCwwLjk3MTY5OTQsMi40ODY5MDUsMC42NDIwODUpIj48cGF0aCBmaWxsPSIjMDA0OTkwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0gNzcuODMzLDE2Ljg1MSBMIDc3LjgzMywzMS4wOSBDIDc3LjgzMywzMS4wOSA4My4wMTcsMzIuMzc3IDkxLjEzNiwzMi4zNzcgQyA5OS4yLDMyLjM3NyAxMDQuNDM5LDMxLjA5NiAxMDQuNDM5LDMxLjA5NiBMIDEwNC40MzksMjYuMjYyIEMgMTA0LjQzOSwyNi4yNjIgOTguODA4LDI3LjM2NiA5MS4wODIsMjcuMzY2IEMgODcuMzM0LDI3LjM2NiA4NC44NDgsMjYuOTI2IDgzLjUxNCwyNi43ODggQyA4My41MDgsMjUuNjI5IDgzLjUxNywyMi4zMzQgODMuNTE0LDIxLjE1OCBDIDg1LjAwOSwyMS4wMSA4Ny41MjIsMjAuNTc4IDkxLjEzNywyMC41NzggQyA5OC42NTgsMjAuNjA1IDEwNC40NCwyMS43MjUgMTA0LjQ0LDIxLjcyNSBMIDEwNC40NCwxNi44NTIgQyAxMDQuNDQsMTYuODUyIDk5LjI3OSwxNS41NjggOTEuMTM3LDE1LjU2OCBDIDgyLjkzNCwxNS41NjcgNzcuODMzLDE2Ljg1MSA3Ny44MzMsMTYuODUxIEwgNzcuODMzLDE2Ljg1MSB6Ii8+PHBvbHlnb24gZmlsbD0iIzAwNDk5MCIgZmlsbC1ydWxlPSJldmVub2RkIiBwb2ludHM9IjExMC43NTYsMzIuMDU3IDExNi41ODMsMzIuMDU3IDExNi41ODMsMTUuODMyIDExMC43NTYsMTUuODMyIDExMC43NTYsMzIuMDU3ICIvPjxwb2x5Z29uIGZpbGw9IiMwMDQ5OTAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSIzMi44MDUsMzIuMDU3IDM4LjYzMSwzMi4wNTcgMzguNjMxLDE1LjgzMiAzMi44MDUsMTUuODMyIDMyLjgwNSwzMi4wNTcgIi8+PHBhdGggZmlsbD0iIzAwNDk5MCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNIDY1Ljc0NywyNS45MTkgQyA2NS43NDcsMjUuOTE5IDYxLjUzOCwyMi44MDMgNTUuMzQ2LDE5LjU5NSBDIDQ5LjkyNiwxNi43ODggNDUuMTU4LDE1Ljg1OSA0NS4xNTgsMTUuODU5IEwgNDUuMTU4LDMyLjA1NyBMIDUwLjc5NywzMi4wNTcgTCA1MC43OTcsMjMuNCBDIDUyLjE1MSwyMy45NSA1My42MDksMjQuNTQzIDU1LjMzOCwyNS40NDEgQyA2MS41MywyOC42NSA2NS43NDMsMzIuMDU3IDY1Ljc0MywzMi4wNTcgTCA3MS40MDIsMzIuMDU3IEwgNzEuNDAyLDE1LjgzMiBMIDY1Ljc0OCwxNS44MzIgTCA2NS43NDgsMjUuOTE5IEwgNjUuNzQ3LDI1LjkxOSB6Ii8+PHBhdGggZmlsbD0iIzAwNDk5MCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNIDE0LjQ2MiwyNS4yNzggQyAxMy4xNjEsMjQuMDYyIDQuMzI2LDE1LjU1NSA0LjMyNiwxNS41NTUgTCAwLDE5LjQ5NyBMIDE0LjQ2MiwzMi40OSBMIDI4LjkxNywxOS41MDYgTCAyNC42MDMsMTUuNTU1IEMgMjQuNjAzLDE1LjU1NSAxNS43NjksMjQuMDYyIDE0LjQ2MiwyNS4yNzggTCAxNC40NjIsMjUuMjc4IHoiLz48cGF0aCBmaWxsPSIjZWQxYjJkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0gMTU2LjY2NywxMy4zMTYgQyAxNTcuOTE4LDEzLjMxNiAxNTguOTMxLDEyLjMwNSAxNTguOTMxLDExLjA1NiBMIDE1OC45MzEsMi4yNjMgQyAxNTguOTMxLDEuMDEyIDE1Ny45MTgsMCAxNTYuNjY3LDAgTCAxNDcuODc5LDAgQyAxNDYuNjMsMCAxNDUuNjIxLDEuMDEyIDE0NS42MjEsMi4yNjMgQyAxNDUuNjIxLDIuMjYzIDE0NS42MjEsOC45OTEgMTQ1LjYyMSw5LjAwMiBDIDE0NS42MjEsMTEuMDk2IDE0NC4wMjQsMTIuODk1IDE0My4zNCwxMy42MDggQyAxNDIuNjQ4LDE0LjMyNyAxNDAuNzk1LDE1LjgzNyAxMzcuODMzLDE1Ljg0MiBMIDEyOS43MjcsMTUuODQyIEwgMTI5LjcyNywyOS4yMDcgTCAxNDMuMDg4LDI5LjIwNyBMIDE0My4wODgsMjEuMSBDIDE0My4wOTgsMTguMTM3IDE0NC41OTgsMTYuMjg1IDE0NS4zMTgsMTUuNTk2IEMgMTQ2LjAzNSwxNC45MDggMTQ3LjgzMSwxMy4zMTYgMTQ5LjkyMiwxMy4zMTYgQyAxNDkuOTM2LDEzLjMxNiAxNTYuNjY3LDEzLjMxNiAxNTYuNjY3LDEzLjMxNiBMIDE1Ni42NjcsMTMuMzE2IHoiLz48cGF0aCBmaWxsPSIjZWQxYjJkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0gMTczLjUwOCwxNy40OCBDIDE3Mi4xMjEsMTYuMDgyIDE3MC4xODYsMTUuMjM0IDE2OC4wNCwxNS4yMzQgQyAxNjMuNjQ1LDE1LjIzNCAxNjAuMTQsMTguODExIDE2MC4xNCwyMy4wODIgQyAxNjAuMTQsMjMuODY1IDE2MC40NzksMjUuMzM5IDE2MC40NzksMjUuOTcgQyAxNjAuNDc5LDI5LjMzNSAxNTcuNzU1LDMyLjA1NyAxNTQuMzk1LDMyLjA1NyBMIDE0Ny44NzksMzIuMDU3IEMgMTQ2LjYzLDMyLjA1NyAxNDUuNjIxLDMzLjA3MSAxNDUuNjIxLDM0LjMyMSBMIDE0NS42MjEsNDMuMTEzIEMgMTQ1LjYyMSw0NC4zNjMgMTQ2LjYzLDQ1LjM3NiAxNDcuODc5LDQ1LjM3NiBMIDE1Ni42NjcsNDUuMzc2IEMgMTU3LjkxOCw0NS4zNzYgMTU4LjkzMSw0NC4zNjMgMTU4LjkzMSw0My4xMTMgQyAxNTguOTMxLDM5LjgwMyAxNTguOTMxLDM2LjU5MyAxNTguOTMxLDM2LjU5MyBDIDE1OC45MzEsMzMuMjMzIDE2MS42NTcsMzAuNTA3IDE2NS4wMTgsMzAuNTA3IEMgMTY1LjY0NiwzMC41MDcgMTY3LjEyMywzMC44NDYgMTY3LjkwNywzMC44NDYgQyAxNzIuMTc2LDMwLjg0NiAxNzUuNzQ5LDI3LjM0NCAxNzUuNzQ5LDIyLjk1MSBDIDE3NS43NDgsMjAuODAxIDE3NC44ODQsMTguODg1IDE3My41MDgsMTcuNDggTCAxNzMuNTA4LDE3LjQ4IHoiLz48L2c+PC9zdmc+Cg==")}
@keyframes mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
/* 22/10 : sans animation la bande ne defile plus, mais le degrade de bord
   restait et effacait le logo situe a chaque extremite. */
@media (prefers-reduced-motion:reduce){.mq-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;row-gap:22px}.mq-track .mq-item[aria-hidden]{display:none}
  .marquee{-webkit-mask-image:none;mask-image:none}}
@media(max-width:1000px){.refs-grid{grid-template-columns:1fr}}


/* CTA */
.cta-band{position:relative;overflow:hidden;background:#0B3E91}
/* 22/10 : l'image s'arretait net sur une verticale a 40 % de la bande, juste
   sous le texte. On la fait disparaitre en fondu au lieu de la couper. */
.cta-band img{position:absolute;right:0;top:0;width:60%;height:100%;object-fit:cover;opacity:.25;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);mask-image:linear-gradient(90deg,transparent 0,#000 45%)}
.cta-inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(18px,2.8vw,40px);padding-block:clamp(24px,2.8vw,38px)}
.cta-inner h2{font-size:clamp(28px,3.6vw,48px);color:#fff}
.cta-inner p{flex:1 1 320px;color:#DCE6F5;font-size:clamp(16px,1.3vw,19px)}
/* 22/10 : selon la longueur du titre, le bouton passait ou non a la ligne —
   la bande faisait 130 px sur une page et 215 px sur la suivante. Un pied de
   paragraphe plus court garde les trois elements sur une seule ligne. */
@media(min-width:1001px){.cta-inner p{flex:1 1 220px}}
/* entre 900 et 1000 px le titre, le texte et le bouton ne tiennent plus sur
   une ligne quel que soit le reglage : on les range en deux lignes franches,
   identiques d'une page a l'autre, plutot que de laisser le bouton decider. */
@media(max-width:1000px){
  .cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .cta-inner h2{grid-column:1/-1}
}
@media(max-width:620px){
  .cta-inner{grid-template-columns:minmax(0,1fr)}
  .cta-inner .btn{justify-self:start}
}

/* CONTACT */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(26px,3.6vw,52px);align-items:start}
.contact h2{font-size:clamp(28px,4.2vw,58px);color:#fff;margin-top:9px}
.contact .lead{color:#C9D5EA;margin-top:13px;max-width:46ch}
.coord{margin-top:19px;display:flex;flex-direction:column;gap:9px;font-size:15px}
.coord span.todo{color:var(--dim)}
form{display:flex;flex-direction:column;gap:17px}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.field{display:flex;flex-direction:column;gap:7px}
/* le libelle est un <label> dans le formulaire de contact, un <span> dans la
   fenetre de demande de fiche : les deux doivent se ressembler. */
.field label,.field>span{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8FA0BE}
.field input,.field textarea{background:transparent;border:0;border-bottom:1px solid #3A4E7C;color:#fff;font:inherit;font-size:16px;padding:10px 2px;outline:0}
.field input:focus,.field textarea:focus{border-color:var(--blue)}
.field textarea{resize:vertical;min-height:94px}
.form-foot{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;align-items:center}
.form-foot p{font-size:13px;color:var(--dim);max-width:44ch}
@media(max-width:1000px){.contact{grid-template-columns:1fr}}
@media(max-width:560px){.f2{grid-template-columns:1fr}}

/* FOOTER */
footer{border-top:1px solid var(--line);padding-block:22px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
footer img{height:38px;width:auto}
.fmeta{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;color:#8FA0BE}
.fmeta a{color:#8FA0BE}
/* 22/10 — cibles tactiles. Sur ecran tactile les liens du pied de page font
   19 px de haut et le logo d'en-tete 34 px : on agrandit la zone sensible
   sans deplacer quoi que ce soit (le rembourrage est repris en marge). */
@media (pointer:coarse){
  .fmeta a{display:inline-block;padding:13px 9px;margin:-13px -9px}
  .coord a{display:inline-block;padding-block:11px;margin-block:-11px}
  header .brand{display:flex;align-items:center;min-height:44px}
  /* « Toutes nos technologies » : 31 px de haut, souligne en bleu */
  .prod-head>a{display:inline-block;padding-top:13px;margin-top:-13px}
}


/* ================= ANIMATIONS ================= */
.hero h1 .ln{display:block;overflow:clip}
.hero h1 .ln i{display:block;font-style:normal}
#veil{position:fixed;inset:0;z-index:60;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2vw,26px);overflow:hidden}
#veil.clear{background:transparent}
#veil .stack{position:relative;width:min(62vw,760px);display:flex;align-items:center;justify-content:center}
#veil .stack img{position:absolute;left:0;top:50%;width:100%;transform:translateY(-50%)}
#veil .vmark-c{opacity:1}
#veil .vmark-w{opacity:0}

#veil .vtag{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.34em;font-size:clamp(11px,1.5vw,20px);color:var(--blue-light);opacity:0;white-space:nowrap}
#veil .vline{height:1px;width:min(62vw,760px);background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:scaleX(0);opacity:.9}
header.intro{z-index:61}
header.intro nav,header.intro .head-right{opacity:0;transition:none}
header.intro img{opacity:0;transition:none}
header nav,header .head-right{transition:opacity .45s var(--e-io)}

@keyframes rev{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}
@keyframes heroPar{from{transform:translate3d(0,-6%,0)}to{transform:translate3d(0,6%,0)}}
@keyframes imgPar{from{transform:scale(1.06) translate3d(0,-2.2%,0)}to{transform:scale(1.06) translate3d(0,2.2%,0)}}
@keyframes heroText{to{transform:translate3d(0,-56px,0);opacity:0}}
@keyframes trace{to{stroke-dashoffset:0}}

.wave path{stroke-dasharray:1;stroke-dashoffset:1}
.wave.drawn path{animation:trace 1100ms cubic-bezier(.30,.80,.35,1) both}

@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference) and (min-width:761px){
    .pin-dot{animation:pinDot linear both}
    .pin-rule{animation:pinRule linear both}
    .pin-lab{animation:pinLab linear both}
    .pin-dot,.pin-rule,.pin-lab{animation-timeline:view();animation-range:entry 42% entry 82%}
    .pin--l .pin-lab{animation-name:pinLabL}
  }
  @media (prefers-reduced-motion: no-preference){
    .expertise>div, .cards4 .c, .domaines>div>.label, .domaines h2, .drow,
    .tech-grid>div, .diagram, .prod-head>div, .prod, .mosaic figure, .terrain-txt,
    .refs-grid>div, .cta-inner>*, .contact>div, form,
    .terrain-hd, .situ figure, .techno-hd>div, .shotx, .princ-hd, .princ-step{
      animation:rev linear both; animation-timeline:view();
      animation-range:entry calc(6% + var(--i,0) * 6%) entry 100%;
    }
    .cards4 .c:nth-child(2),.drow:nth-child(2),.prod:nth-child(2),.slot:nth-child(2),.mosaic figure:nth-child(2){--i:1}
    .cards4 .c:nth-child(3),.drow:nth-child(3),.prod:nth-child(3),.slot:nth-child(3),.mosaic figure:nth-child(3){--i:2}
    .cards4 .c:nth-child(4),.drow:nth-child(4),.prod:nth-child(4),.slot:nth-child(4),.mosaic figure:nth-child(4){--i:3}
    .drow:nth-child(5),.prod:nth-child(5),.slot:nth-child(5),.mosaic figure:nth-child(5){--i:4}
    .situ figure:nth-child(2){--i:1}
  }
}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion: no-preference) and (min-width:768px){
    .hero-media img{animation:heroPar linear both;animation-timeline:scroll(root);animation-range:0 100vh}
    .hero-inner{animation:heroText linear both;animation-timeline:scroll(root);animation-range:45vh 95vh}
    .cord-a{animation:ondeA linear both;animation-timeline:scroll(root);animation-range:0 60vh}
    .cord-b{animation:ondeB linear both;animation-timeline:scroll(root);animation-range:0 60vh}
    .mosaic img,.cta-band img,.stage figure.on img,.situ img{animation:imgPar linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .wave path{stroke-dashoffset:0}
}


/* ================= PAGES ================= */
.page{display:block}
.page.on{display:block}
.page:not([data-page="accueil"]){padding-top:var(--hdr)}
header .brand{display:block;line-height:0}
nav a.on,.panel a.on{color:var(--blue-light)}
/* en-tête d'une page intérieure */
/* ---- EN-TETE DE PAGE INTERIEURE -------------------------------------
   Le titre et le chapo etaient empiles dans la meme colonne : la moitie
   droite restait vide et rien ne distinguait l'un de l'autre. Le chapo
   passe a droite, un rail mono numerote la page, et le filet de bas de
   bloc devient la corde elle-meme — tendue entre deux ancrages, pincee a
   l'arrivee, qui s'amortit en ligne droite au fur et a mesure du
   defilement. C'est le produit qui sert de separateur. */
.phead{position:relative;padding-block:clamp(22px,3.6vw,52px) 0;border-bottom:0}
.phead-rail{display:flex;align-items:center;gap:clamp(10px,1.2vw,18px);font-family:'IBM Plex Mono',monospace;font-size:clamp(11px,1.05vw,13px);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.phead-num{color:var(--blue-light);font-weight:500}
.phead-tick{flex:none;width:clamp(26px,4.4vw,72px);height:1px;background:var(--line)}
.phead-body{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(16px,3vw,56px);align-items:end;margin-top:clamp(13px,1.9vw,26px);padding-bottom:clamp(16px,2.4vw,34px)}
.phead h1{font-size:clamp(30px,5.8vw,72px);color:#fff;margin:0}
.phead-body p{max-width:54ch;color:#C9D5EA;font-size:clamp(16px,1.25vw,19px);margin:0 0 .3em}
@media(max-width:900px){.phead-body{grid-template-columns:1fr;align-items:start;gap:13px}.phead-body p{max-width:60ch}}
/* pages legales : pas de mise en scene, on va a l'information */
.phead--doc .phead-body{grid-template-columns:1fr;align-items:start;gap:11px}
.phead--doc h1{font-size:clamp(28px,4.2vw,52px)}
.phead--doc .phead-body p{max-width:64ch}
/* la corde */
/* 27/10 : la corde paraissait anguleuse. Ce n'etait pas la courbe — les
   Bezier sont deja raccordees proprement — mais son aplatissement : une
   amplitude de 21 px pour une demi-periode de 325 px, ca ne ressemble plus
   a un sinus. Boite plus haute et deux fois plus de periodes : le rapport
   amplitude/longueur d'onde passe de 0,06 a 0,21 et la sinusoide se lit.
   Sous 760 px on repasse a deux periodes, sinon c'est un zigzag serre. */
.cord{position:relative;display:flex;align-items:center;height:clamp(46px,5vw,72px)}
.cord svg{flex:1 1 auto;width:100%;height:100%;display:block}
.cord-anc{flex:none;width:2px;height:26px;background:var(--blue)}
.cord-rest{stroke:var(--line);stroke-width:1;stroke-dasharray:3 7;vector-effect:non-scaling-stroke}
.cord-l{stroke:var(--blue-light);stroke-width:1.5;vector-effect:non-scaling-stroke}
.cord-a{opacity:1}
.cord-b{opacity:0}
.cord-etroit{display:none}
@media(max-width:760px){.cord-large{display:none}.cord-etroit{display:inline}}
/* 27/10 — l'amortissement se faisait par un scaleY sur le groupe. Sous
   Chrome/Windows la couche est rasterisee une fois puis etiree : le trait
   se pixelise en remontant la page. Safari re-rasterise a chaque image,
   d'ou le « chez moi ca marche ». On n'anime plus aucune transformation :
   deux traces superposes, pleine amplitude et amplitude reduite, qui se
   relaient en opacite. Meme lecture — ca vibre, puis ca se range — et le
   compositeur n'a plus rien a etirer. */
@keyframes ondeA{0%{opacity:1}55%{opacity:0}100%{opacity:0}}
@keyframes ondeB{0%{opacity:0}30%{opacity:.85}72%{opacity:0}100%{opacity:0}}
/* fil de blocs numérotés */
.blocks{display:grid;gap:clamp(20px,3vw,46px);margin-top:clamp(16px,2.2vw,28px)}
.blk{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,2.8vw,40px)}
.blk .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--blue-light);letter-spacing:.16em}
.blk h2{font-size:clamp(23px,2.9vw,38px);color:#fff;margin-top:8px}
.blk .txt{color:#C9D5EA;margin-top:11px}
.blk ul{margin:11px 0 0;padding-left:18px;color:var(--muted);font-size:15px;line-height:1.55}
.blk .visual{background:#F1F3F7;aspect-ratio:16/10;position:relative;overflow:hidden;align-self:start}
.blk .visual img{width:100%;height:100%;object-fit:cover}
.blk .visual.dark{background:linear-gradient(160deg,#0C1D45,#081231);display:flex;align-items:center;justify-content:center}
.blk .visual .tag{position:absolute;left:10px;top:10px;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;color:#0A1839;background:rgba(255,255,255,.74);padding:3px 8px}
.blk .visual .wait{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--dim);text-align:center;padding:20px}
.blk .ico{width:52%;color:var(--blue-light)}
.blk .ico svg{width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
/* 22/10 : en une colonne, les visuels passaient en 16/9 alors que le reste de
   la page reste en 16/10 — deux formats de photo empiles sur la meme page. */
@media(max-width:900px){.blk{grid-template-columns:1fr}.blk .visual{order:-1}}
/* grille simple de cartes */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,34px);margin-top:clamp(18px,2.4vw,32px)}
.grid3 .c{padding:0}
.grid3 h3{font-size:clamp(18px,1.8vw,24px);color:#fff;margin-top:10px}
.grid3 p{font-size:15px;color:var(--muted);margin-top:7px;line-height:1.5}
@media(max-width:900px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.grid3{grid-template-columns:1fr}}
/* fiche d'identité */
.ident{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,21px) clamp(24px,3vw,48px);margin-top:clamp(16px,2vw,26px)}
.ident div{padding:0}
.ident dt{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ident dd{margin:6px 0 0;color:#fff;font-size:16px}
@media(max-width:620px){.ident{grid-template-columns:1fr}}
/* texte long (pages légales) */
.doc{max-width:78ch}
.doc h2{font-size:clamp(20px,2.2vw,28px);color:#fff;margin-top:clamp(18px,2vw,26px)}
.doc p,.doc li{color:#C9D5EA;margin-top:10px}
.doc ul{padding-left:20px}
.doc .small{font-size:14px;color:var(--muted)}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ask{border-bottom:1px solid rgba(95,162,234,.45)}.todo-inline{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#F0A202}


/* ================= IMPRESSION / PDF ================= */
@media print{
  html,body{background:var(--navy-950) !important;padding-bottom:0 !important}
  .draft{display:none !important}
  header{position:static !important;height:auto !important;padding-block:18px;border-bottom:1px solid var(--line)}
  header::before{opacity:1 !important}
  header .lang,header .burger,header .head-right>.btn-ghost{display:none !important}
  nav{display:flex !important}
  .page:not([data-page="accueil"]){padding-top:0 !important}
  .pin-wrap{height:auto !important}
  .domaines{position:static !important;min-height:0 !important;padding-top:0 !important}
  .stage{max-height:none !important;aspect-ratio:16/10}
  .hero{min-height:auto !important}
  .hero-inner{padding-block:48px 32px !important}
  /* les révélations au scroll n'ont pas lieu d'être sur papier */
  .expertise>div,.cards4 .c,.domaines>div>.label,.domaines h2,.drow,
  .tech-grid>div,.diagram,.prod-head>div,.prod,.mosaic figure,.terrain-txt,
  .refs-grid>div,.cta-inner>*,.contact>div,form,.hero-inner,.hero h1 .ln i{
    animation:none !important;opacity:1 !important;transform:none !important}
  .wave path{stroke-dashoffset:0 !important}
  .mq-track{animation:none !important;flex-wrap:wrap;width:auto;justify-content:flex-start}
  .mq-track .mq-item[aria-hidden]{display:none !important}
  /* on évite de couper les blocs en deux */
  .blk,.grid3 .c,.ident div,.situ figure,.prod,.cards4 .c,.drow,.mosaic,.cta-band,.doc h2{break-inside:avoid}
  .doc h2{break-after:avoid}
  section{break-inside:auto}
}

/* bandeau maquette */


@media(max-width:700px){}

/* --- genere : une page par fichier, le routeur n'existe plus --- */
.page{display:block}
picture{display:contents}
/* Les deux boutons de langue sont devenus des liens. Leurs regles d'origine
   ont ete reportees telles quelles de « .lang button » vers « .lang a »,
   y compris celles des petits ecrans : seul le soulignement est a retirer. */
.lang a{text-decoration:none}
.lang a:hover{color:#fff}
nav a[aria-current="page"],.panel a[aria-current="page"]{color:#fff}

/* Le style .btn n'avait servi que sur des liens : sur un vrai <button>,
   le fond gris du navigateur restait. Visible sur « Annuler » et sur les
   boutons de la liste des fiches. */
button.btn{background:none;font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
/* 22/10 : « background:none » ci-dessus est plus specifique que .btn-primary,
   il effacait le fond bleu du bouton d'envoi du formulaire de contact et de
   celui de la fenetre de demande de fiche : ils n'etaient plus que du texte. */
button.btn-primary{background:var(--blue)}
button.btn-primary:hover{background:#1c63ad}

/* Deux images ne tiennent pas dans le format commun sans perdre
   l'essentiel : la coupe du capteur est un schema technique qu'un
   recadrage ampute de 25 % de sa largeur, et l'appareil en galerie
   perd 30 % de sa hauteur. On les affiche entieres sur fond uni
   plutot que de couper ce qui fait leur interet. */
/* Le logo en filigrane des emplacements photo vides etait etire de 420 px
   a 760 : flou. Il vaut mieux un filigrane plus petit et net. Ces
   emplacements disparaitront quand GEO fournira les trois photos
   manquantes ; d'ici la, autant qu'ils soient propres. */
.ph-logo{max-width:420px}
/* L'animation d'entree affichait le logo a 756 px depuis un fichier de
   420 : flou, et c'est la premiere chose que voit un visiteur. Tant que
   GEO n'a pas fourni le logo en vectoriel, mieux vaut une entree plus
   petite et nette. */
#veil .stack{max-width:420px}

/* La coupe du capteur est un rendu sombre : le sujet est a droite, la
   moitie gauche est vide. Un recadrage centre coupait le sujet du mauvais
   cote. On decale le cadrage au lieu de l'encadrer de gris clair, qui
   jurerait sur une image noire. */
img[src$="web-sg1-coupe.jpg"][src]{object-position:78% center}
/* L'appareil en galerie perdait 30 % de sa hauteur. Son fond est clair :
   on peut l'afficher entier sans que l'encadrement se voie. */
img[src$="web-tpi30.jpg"][src]{object-fit:contain;background:#F1F3F7}

/* --- fiches techniques : icone d'en-tete, liste, fenetre de demande --- */
.nav-fiches{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:40px;padding-inline:8px;color:var(--dim);transition:color .2s;white-space:nowrap}
.nav-fiches:hover,.nav-fiches.on{color:#fff}
.nav-fiches svg{width:21px;height:21px;display:block;flex:none}
.nav-fiches-txt{font-size:14px;font-weight:500}
@media (pointer:coarse){.nav-fiches{height:44px}}
/* sous 1300 px l'en-tete est deja serre : on garde l'icone seule */
@media (max-width:1300px){.nav-fiches-txt{display:none}.nav-fiches{padding-inline:0;width:40px}}
@media (max-width:1100px){.nav-fiches{display:none}}

/* « .doc ul » impose un retrait de 20 px aux listes a puces : il faisait
   depasser le fond du conteneur a gauche, en liseré bleu. */
.doc .fiches,.fiches{list-style:none;padding-left:0;padding:0;
  margin:clamp(22px,3vw,34px) 0 0;
  display:grid;gap:1px;background:var(--line);border-radius:2px;overflow:hidden}
.fiche{display:flex;align-items:center;justify-content:space-between;
  gap:clamp(14px,2.4vw,30px);background:var(--navy-950);
  padding:clamp(14px,1.8vw,20px) clamp(14px,2vw,24px)}
.doc .fiche{margin-top:0}
.fiche-nom{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}
.fiche-nom span{font-weight:500}
.fiche-ref{font-size:11px;color:var(--dim);letter-spacing:.08em}
.fiche-btn{flex:none;padding:10px 18px;font-size:13px}
/* 22/10 : la liste n'avait de filets qu'entre les lignes (gap de 1 px sur le
   fond). En haut et en bas elle restait ouverte, elle n'avait pas l'air finie. */
.doc .fiches,.fiches{border:1px solid var(--line)}
@media (max-width:560px){
  .fiche{flex-direction:column;align-items:flex-start;gap:12px}
  .fiche-btn{width:100%;text-align:center}
}
/* 38 px de haut : trop court pour le doigt */
@media (pointer:coarse){.fiche-btn{min-height:44px;justify-content:center}}

.modale[hidden]{display:none}
.modale{position:fixed;inset:0;z-index:80;display:flex;align-items:center;
  justify-content:center;padding:18px}
.modale-fond{position:absolute;inset:0;background:rgba(2,7,20,.78)}
.modale-boite{position:relative;width:min(540px,100%);max-height:92vh;
  overflow:auto;background:var(--navy-900);border:1px solid var(--line);
  padding:clamp(22px,3.4vw,38px)}
/* la croix de fermeture est posee en absolu sur le coin : le titre doit lui
   laisser la place, sinon un titre long passe dessous. */
.modale-boite h2{font-size:clamp(22px,2.6vw,32px);margin:0;padding-right:44px}
.modale-fiche-nom{color:var(--blue-light);margin-top:8px;font-weight:500;
  font-size:clamp(15px,1.6vw,18px)}
.modale-fiche-nom:empty{display:none}
/* la variable s'appelle --muted : « --mute » n'existe pas, la phrase sortait
   en blanc plein au lieu du gris de commentaire. */
.modale-sous{color:var(--muted);margin-top:8px;font-size:14px}
/* l'annulation ne doit pas peser autant que l'action : un lien suffit */
.modale-actions .btn-ghost{border-color:transparent;color:var(--dim);
  padding-inline:12px}
.modale-actions .btn-ghost:hover{background:none;color:#fff;
  text-decoration:underline}
.modale-rgpd{color:var(--dim);font-size:12px;line-height:1.5;margin-top:16px}
.modale-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;
  flex-wrap:wrap}
.modale-x{position:absolute;top:8px;right:10px;background:none;border:0;
  color:var(--dim);font-size:26px;line-height:1;cursor:pointer;padding:8px;
  min-width:44px;min-height:44px}
.modale-x:hover{color:#fff}
@media (max-width:560px){
  .modale{padding:0;align-items:flex-end}
  .modale-boite{width:100%;max-height:94vh}
  .modale-actions .btn{flex:1}
  /* « Annuler » n'a pas besoin de la moitie de la barre : le libelle du
     bouton d'envoi passait sur deux lignes a 320 px. */
  .modale-actions .btn-ghost{flex:0 0 auto}
}
/* 22/10 — ecran bas (1280x620, telephone en main). La boite depassait et les
   deux boutons tombaient hors du champ : on voyait un formulaire sans bouton
   d'envoi. Les actions restent collees en bas de la zone qui defile. */
/* le premier libelle du formulaire collait au paragraphe au-dessus */
.modale-boite form{position:relative;margin-top:18px}
.modale-actions{position:sticky;bottom:calc(-1 * clamp(22px,3.4vw,38px));
  background:var(--navy-900);padding-block:14px;margin-bottom:-14px}
/* et on resserre tout ce qui peut l'etre quand la hauteur manque */
@media (max-height:760px){
  .modale-boite{padding:20px 22px;max-height:96vh}
  .modale-boite form{gap:12px;margin-top:12px}
  .modale .f2{gap:12px}
  .modale .field{gap:5px}
  .modale .field input{padding:7px 2px}
  .modale-sous{margin-top:6px}
  .modale-fiche-nom{margin-top:6px}
  .modale-rgpd{margin-top:10px}
  .modale-actions{margin-top:12px;bottom:-20px;padding-block:10px;margin-bottom:-10px}
}

/* --- logos clients fournis par GEO, affiches en blanc --- */
.lg-sites{--ar:1.156;--lh:1.30;--src:url("img/logos/sites.png")}
.lg-sixense{--ar:4.294;--lh:0.86;--src:url("img/logos/sixense.png")}
.lg-ginger{--ar:4.314;--lh:0.86;--src:url("img/logos/ginger.svg")}
.lg-bouygues{--ar:1.950;--lh:1.18;--src:url("img/logos/bouygues-construction.png")}
.lg-ubi{--ar:1.475;--lh:1.25;--src:url("img/logos/uby.png")}
.lg-andra{--ar:1.400;--lh:1.20;--src:url("img/logos/andra.png")}
