/* Bleu acier : fond sombre, détails discrets et terminal monochrome. */
:root{--black:#0A0C0E;--white:#E7EAED;--g5:#A7AEB6;--g6:#B2BDC8;--accent:#8293A5;--accent-highlight:#B32D2D;--accent-secondary:#B2BDC8;--accent-dim:rgba(130,147,165,.25);}
::selection{background:var(--accent);color:#0A0C0E;}
body::before{background:radial-gradient(ellipse at center,transparent 65%,rgba(0,0,0,.22) 100%);}
#pbar{background:linear-gradient(90deg,var(--accent),var(--accent-secondary));}
nav{border-bottom-color:var(--accent-dim) !important;}
.nblink,.nlinks a::after,.scroll-line::after{background:var(--accent);}
.nlinks a::before{color:var(--accent);}
.nlinks a.is-active{color:var(--accent) !important;}

#hero{
  min-height:0;
  padding:6.5rem 2.5rem 4.5rem;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
  align-content:start;
  align-items:center;
  text-align:left;
  background:var(--black);
}
#boot{
  position:relative;
  top:auto !important;left:auto !important;
  width:100%;max-width:280px;justify-self:start;
  padding:.65rem .8rem;
  border:1px solid #363636;
  border-left:2px solid #bdbdbd;
  background:#090909;
  box-shadow:none;
  color:#bdbdbd;
  font-size:.54rem !important;
  letter-spacing:.01em;
  line-height:1.55 !important;
  opacity:1 !important;
  text-align:left;
}
.boot-heading{display:flex;align-items:center;gap:.45rem;margin-bottom:.4rem;padding-bottom:.4rem;border-bottom:1px solid #363636;color:#eee;font-size:.52rem;letter-spacing:.13em;}
.boot-led{width:4px;height:4px;border-radius:50%;background:#eee;box-shadow:0 0 8px rgba(255,255,255,.3);}
.boot-status{color:#fff;}
.boot-cursor{display:inline-block;width:.5em;height:.95em;margin-left:.4em;background:#eee;vertical-align:middle;animation:blink 1s step-end infinite;}
.boot-progress{height:1px;margin-top:.45rem;background:#292929;overflow:hidden;}
.boot-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#ddd;animation:bootProgress 2.4s .2s steps(12,end) forwards;}
@keyframes bootProgress{to{transform:scaleX(1);}}
.hero-logo{
  width:min(1000px,100%);height:clamp(130px,21svh,200px);
  margin:0 auto 3rem;overflow:hidden;mix-blend-mode:screen;
}
.hero-logo .logo-main,.hero-logo .logo-glitch{
  width:100% !important;height:100%;max-width:100% !important;
  object-fit:cover;object-position:50% 44%;
  animation:none;transform:none;opacity:1;
}
.hero-logo .logo-glitch{display:none;}
#hero .hsub{
  grid-column:1/-1;width:100% !important;
  display:flex;align-items:flex-end;gap:2rem;
  margin:0;transform:none;
}
#hero .hsubt{
  flex:1;width:auto !important;max-width:none !important;
  margin:0;white-space:normal;
  font-size:clamp(.85rem,1.2vw,1.1rem);
  letter-spacing:.08em;line-height:1.9;color:var(--white);
}
#hero .hsubt em{display:inline-block;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;letter-spacing:.02em;margin-bottom:.6rem;color:var(--white);}
#hero .hsubt span{color:var(--g5);}
#hero .hline{display:none;}
/* Rouge plus sombre et atténué sur trois accroches. */
#hero .hsubt em,#videos .vtitle,#contact .cbig{color:var(--accent-highlight);}
.hero-actions{flex-direction:column;align-items:stretch;flex-shrink:0;}
.hero-actions .hcta{padding:.9rem 1.25rem;color:var(--white);background:rgba(130,147,165,.08);border-color:rgba(130,147,165,.55);text-align:center;font-size:.65rem;}
.hero-actions .hcta::before{background:rgba(130,147,165,.12);}
.hero-actions .hcta:hover{background:rgba(130,147,165,.16);color:#fff;}
.hero-actions .hcta-secondary{border-color:rgba(178,189,200,.2) !important;}
.hero-actions .hcta-secondary span{color:var(--g5);}
.hero-actions .hcta-secondary:hover{background:rgba(130,147,165,.1) !important;}
.hero-actions .hcta-secondary:hover span{color:#fff !important;}
.hcoords{bottom:1.6rem;color:var(--g5);opacity:.85 !important;}
.scroll-cue{color:var(--accent);}

/* Rapprocher les créations de l’introduction sans réserver un écran entier. */
#videos{padding-top:2rem !important;}

/* Couleurs lisibles tout au long de la page, sur un fond toujours sombre. */
.stag,.reel-kicker,.sn,.cpre,.albl{color:var(--accent);opacity:1 !important;}
.sidx,.vitem-idx{color:var(--accent-secondary) !important;opacity:.85 !important;}
.sl{background:linear-gradient(90deg,var(--accent-dim),rgba(178,189,200,.15));}
.vitem-tag{border-color:var(--accent-dim);color:var(--accent) !important;opacity:1 !important;}
.vitem-ext,.mid-cta-link{color:var(--accent) !important;opacity:1 !important;}
.mid-cta-link::after{background:var(--accent);}
.snum,.vitem-num{color:rgba(130,147,165,.045);}
#about{background:transparent;}
.agrid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:3rem;}
.agrid>*{min-width:0;}
.agrid .abody{width:100% !important;}
.stval{overflow-wrap:anywhere;}
#services{background:transparent;}
.svcrow:hover{background:rgba(130,147,165,.035);}
#contact .cemailw{border-bottom-color:var(--accent-dim) !important;}
.carr{color:var(--accent);}

/* Fonds noirs explicites, dès le poster et pendant la lecture Vimeo. */
.vwrap,.vposter,.vwrap iframe.vbg,#overlayPlayer{background:#000 !important;}
.vwrap iframe.vbg,#overlayPlayer{color-scheme:dark;}
.vposter{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
.vwrap iframe.vbg{opacity:0;transition:opacity .3s ease;}
.vwrap.is-playing iframe.vbg{opacity:1;}
.voverlay,.vitem:hover .voverlay{background:transparent;}
.watch-cue{opacity:1;transform:translate(-50%,0);border-color:var(--accent-dim);background:rgba(0,0,0,.7);}
.vwrap:hover .watch-cue{opacity:1;border-color:var(--accent);}
.pring::before{border-color:var(--accent);}
.pring::after{border-color:rgba(130,147,165,.7);}
.vscan{display:none;}

/* Un lecteur fermé ne doit pas recevoir le focus clavier. */
#playerOverlay{visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s;}
#playerOverlay.active{visibility:visible;transition-delay:0s;}

@media(max-width:980px){
  .agrid{grid-template-columns:1fr;}
  #hero{gap:1rem;padding:6.5rem 1.5rem 4rem;}
  #hero .hsub{display:block !important;}
  #hero .hsubt{max-width:none !important;margin-bottom:1.3rem;}
  .hero-actions{flex-direction:row;align-items:center;}
}
@media(max-width:700px){
  #hero{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.9rem;padding:5.2rem 1rem 3.1rem !important;}
  #boot{max-width:260px;align-self:flex-start;flex-shrink:0;padding:.6rem .7rem;font-size:.5rem !important;line-height:1.55 !important;}
  .boot-heading{font-size:.5rem;padding-bottom:.35rem;margin-bottom:.35rem;}
  .boot-progress{margin-top:.4rem;}
  .hero-logo{height:115px;margin:0 auto 1.75rem;flex-shrink:0;}
  .hero-logo .logo-main{transform:scale(1.15);}
  #hero .hsub{margin:0 !important;}
  #hero .hsubt{font-size:.79rem !important;line-height:1.6 !important;letter-spacing:.045em !important;margin-bottom:1rem !important;}
  #hero .hsubt em{display:inline-block;font-size:1.85rem !important;margin-bottom:.4rem;}
  .hero-actions{gap:.5rem !important;}
  .hero-actions .hcta{font-size:.61rem !important;padding:.75rem .8rem !important;}
  #videos{padding-top:1.5rem !important;padding-left:0 !important;padding-right:0 !important;}
  .watch-cue{font-size:.52rem;bottom:.7rem;}
}
@media(prefers-reduced-motion:reduce){
  .bl{opacity:1;}
  .boot-progress span{transform:scaleX(1);animation:none;}
  .boot-cursor,.boot-led{animation:none;}
}
