/* Home — prolongement vidéo directement rattaché à la grille « Nos projets ». */
.home-project-video-panel{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(300px,.84fr) minmax(0,1.68fr);
  gap:clamp(1.5rem,3.2vw,3.25rem);
  align-items:center;
  margin-top:4px;
  padding:clamp(1.6rem,3vw,2.6rem);
  border:1px solid var(--border);
  background:var(--surface);
  overflow:hidden;
}
.home-project-video-panel::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  right:clamp(12rem,27vw,28rem);
  width:1px;
  background:linear-gradient(to bottom,transparent,var(--orange) 24%,var(--orange) 76%,transparent);
  opacity:.34;
  transform:skewX(-12deg);
}
.home-project-video-panel::after{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(118deg,transparent 0 31%,color-mix(in srgb,var(--orange) 4%,transparent) 31% 38%,transparent 38%),
    linear-gradient(90deg,color-mix(in srgb,var(--orange) 5%,transparent),transparent 42%);
}
.home-project-video-copy{max-width:450px}
.home-project-video-copy .s-label{margin-bottom:.85rem}
.home-project-video-title{
  max-width:440px;
  margin:0;
  font-family:var(--fd);
  font-size:clamp(1.8rem,2.8vw,2.85rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.015em;
  text-transform:uppercase;
  color:var(--ink);
}
.home-project-video-copy p{
  max-width:390px;
  margin:1rem 0 1.3rem;
  color:var(--ink2);
  font-size:.92rem;
  line-height:1.68;
}
.home-project-video-meta{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.1rem;
  font-family:var(--fd);
  font-size:.66rem;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.home-project-video-meta::before{
  content:"";
  width:18px;
  height:1px;
  flex:0 0 auto;
  background:var(--orange);
}
.home-project-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  min-width:0;
}
.home-video-card{
  position:relative;
  display:block;
  min-width:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#11110f;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}
.home-video-card::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  border:1px solid transparent;
  pointer-events:none;
  transition:border-color var(--motion-fast),box-shadow var(--motion-fast);
}
.home-video-card:hover::before,.home-video-card:focus-visible::before{
  border-color:var(--orange);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 35%,transparent);
}
.home-video-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.home-video-card-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.82) contrast(1.04) brightness(.82);
  transform:scale(1.015);
  transition:transform var(--motion-slow) var(--ease-out),filter var(--motion-normal) var(--ease-out);
}
.home-video-card:hover .home-video-card-image,.home-video-card:focus-visible .home-video-card-image{
  transform:scale(1.055);
  filter:saturate(1) contrast(1.05) brightness(.9);
}
.home-video-card-shade{
  position:absolute;
  z-index:1;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(1rem,1.7vw,1.45rem);
  background:linear-gradient(to top,rgba(8,8,7,.94) 0,rgba(8,8,7,.38) 54%,rgba(8,8,7,.12) 100%);
}
.home-video-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}
.home-video-card-label{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:.24rem .65rem;
  background:var(--orange);
  color:#fff;
  font-family:var(--fd);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}
.home-video-play{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.46);
  background:rgba(8,8,7,.7);
  color:#fff;
  font-size:.82rem;
  line-height:1;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast) var(--ease-out);
}
.home-video-card:hover .home-video-play,.home-video-card:focus-visible .home-video-play{
  background:var(--orange);
  border-color:var(--orange);
  transform:scale(1.06);
}
.home-video-card-title{
  display:block;
  max-width:92%;
  font-family:var(--fd);
  font-size:clamp(1.05rem,1.6vw,1.4rem);
  font-weight:850;
  line-height:1.04;
  text-transform:uppercase;
  color:#fff;
}
.home-video-card-cta{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:.55rem;
  font-family:var(--fd);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.js .home-project-video-grid[data-stagger-group] .home-video-card{
  opacity:0;
  transform:translateY(14px);
  transition:opacity var(--motion-normal) var(--stagger-delay,0ms) var(--ease-out),transform var(--motion-normal) var(--stagger-delay,0ms) var(--ease-out);
}
.js .home-project-video-grid[data-stagger-group] .home-video-card-image{transform:scale(1.05)}
.js .home-project-video-grid[data-stagger-group].in .home-video-card{opacity:1;transform:none}
.js .home-project-video-grid[data-stagger-group].in .home-video-card-image{transform:scale(1.015)}
.js .home-project-video-grid[data-stagger-group].in .home-video-card:hover .home-video-card-image,.js .home-project-video-grid[data-stagger-group].in .home-video-card:focus-visible .home-video-card-image{transform:scale(1.055)}

.home-video-overlay{
  position:fixed;
  z-index:8200;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(.65rem,2.5vw,2rem);
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .3s var(--ease-out),visibility .3s;
}
.home-video-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.home-video-dialog{
  position:relative;
  width:min(1080px,calc(100vw - clamp(1rem,5vw,5rem)));
  max-height:94dvh;
  overflow:auto;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 42px 110px rgba(0,0,0,.6);
  transform:translateY(16px) scale(.982);
  transition:transform .35s var(--ease-out);
}
.home-video-overlay.open .home-video-dialog{transform:none}
.home-video-close{
  position:absolute;
  z-index:4;
  top:1rem;
  right:1rem;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(0,0,0,.72);
  color:#fff;
  cursor:pointer;
  transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast) var(--ease-out);
}
.home-video-close:hover{background:var(--orange);border-color:var(--orange);transform:rotate(3deg)}
.home-video-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
.home-video-dialog-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.25rem;
  align-items:end;
  padding:clamp(1.45rem,3vw,2.25rem) clamp(4.8rem,6vw,6rem) clamp(1.2rem,2.5vw,1.65rem) clamp(1.35rem,3vw,2.5rem);
  border-bottom:1px solid var(--border);
}
.home-video-dialog-label{
  font-family:var(--fd);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--orange);
}
.home-video-dialog-title{
  margin:.5rem 0 0;
  font-family:var(--fd);
  font-size:clamp(1.35rem,3vw,2.2rem);
  font-weight:900;
  line-height:1.02;
  text-transform:uppercase;
  color:var(--ink);
}
.home-video-external{
  white-space:nowrap;
  font-family:var(--fd);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--muted);
  text-decoration:none;
  transition:color var(--motion-fast);
}
.home-video-external:hover{color:var(--orange)}
.home-video-external:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.home-video-player{aspect-ratio:16/9;background:#000}
.home-video-player iframe{display:block;width:100%;height:100%;border:0}
body.modal-open .ck-banner{opacity:0;visibility:hidden;pointer-events:none}

@media(max-width:1100px){
  .home-project-video-panel{grid-template-columns:1fr;align-items:start}
  .home-project-video-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;max-width:none;align-items:end}
  .home-project-video-copy .s-label,.home-project-video-copy .home-project-video-title,.home-project-video-copy p{grid-column:1}
  .home-project-video-copy .link-subtle{grid-column:2;grid-row:1/4;align-self:end;margin-bottom:.15rem}
  .home-project-video-copy .home-project-video-meta{grid-column:1/-1}
  .home-project-video-panel::before{right:18%;opacity:.22}
}

@media(max-width:720px){
  .home-project-video-panel{padding:1.25rem;gap:1.35rem}
  .home-project-video-copy{display:block}
  .home-project-video-copy .link-subtle{margin-top:.2rem}
  .home-project-video-grid{grid-template-columns:1fr;gap:6px}
  .home-video-card{aspect-ratio:16/10}
  .home-project-video-panel::before,.home-project-video-panel::after{display:none}
  .home-video-dialog-head{display:block;padding:1.35rem 4.35rem 1.15rem 1.2rem}
  .home-video-external{display:inline-flex;margin-top:.75rem}
}

@media(max-width:500px){
  .home-video-overlay{padding:.35rem}
  .home-video-dialog{width:calc(100vw - .7rem);max-height:96dvh}
  .home-video-close{top:.7rem;right:.7rem;width:40px;height:40px}
  .home-video-card-shade{padding:1rem}
  .home-video-play{width:42px;height:42px}
}

@media(hover:none){
  .home-video-card-image{filter:saturate(.92) contrast(1.04) brightness(.86)}
}

@media(prefers-reduced-motion:reduce){
  .home-video-card,.home-video-card-image,.home-video-play,.home-video-dialog,.home-video-close{transition:none!important}
  .js .home-project-video-grid[data-stagger-group] .home-video-card{opacity:1!important;transform:none!important}
  .js .home-project-video-grid[data-stagger-group] .home-video-card-image{transform:scale(1.015)!important}
}
