/* ===== Core & Graph – style.css (mobile grid + logo variable + MP4) ===== */
:root{
  --bg-dark:#000;
  --text:#fff;
  --glass: rgba(0,0,0,.55);
  --cyan:#00e5ff;

  /* Taille du logo header */
  --logo-h: 110px;

  /* Grille d'affiches */
  --tile-min: 180px;  /* desktop */
  --tile-gap: 4px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg-dark);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ======= Background grid (no blur) ======= */
.bg{position:fixed; inset:0; z-index:0}
.grid{
  position:absolute; inset:0;
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--tile-min),1fr));
  gap: var(--tile-gap);
  padding: var(--tile-gap);
}
.cell{position:relative; width:100%; height:100%}
.cell img{
  display:block;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
}
.bg-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.30));
}
.bg-fallback{position:absolute; inset:0; background:#0b0b0b}

/* ======= Header ======= */
.site-header{
  position:fixed; top:0; left:0; right:0;
  display:flex; align-items:center; justify-content:flex-start;
  gap:14px;
  padding:10px 18px;
  background:var(--glass);
  z-index:10;
}
.brand{display:flex; align-items:center; gap:14px}
.brand-logo{
  height: var(--logo-h);
  width:auto; display:block;
  image-rendering:auto;
}
.brand-status{
  font-weight:700;
  letter-spacing:.06em;
  color:var(--text);
  opacity:.95;
  text-transform:uppercase;
  font-size: clamp(.9rem, 2vw, 1rem);
  white-space: normal; line-height:1.2;
}

/* ======= Hero / Video ======= */
.hero{
  position:relative; z-index:1;
  min-height:100dvh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding: calc(var(--logo-h) + 52px) 16px 100px;
  gap:18px;
}
.video-frame{
  width:min(90vw, 1200px);
  aspect-ratio:16/9;
  border-radius:12px;
  box-shadow: 0 10px 40px rgba(0,0,0,.55);
  overflow:hidden;
  background:#000;
}
.video-frame .video-el{width:100%; height:100%; display:block; object-fit:cover}
.under-video-note{
  font-weight:900; letter-spacing:.14em; opacity:.98; text-align:center; font-size:1.1rem;
}

/* ======= Footer ======= */
.site-footer{
  position:fixed; bottom:0; left:0; right:0;
  background:var(--glass);
  z-index:10; padding:10px 16px;
}
.foot-inner{
  display:flex; align-items:center; justify-content:center;
  gap:10px; flex-wrap:wrap; font-size:.95rem;
}
.foot-inner a{color:#fff; text-decoration:none; opacity:.95}
.foot-inner a:hover{color:var(--cyan); opacity:1}
.sep{opacity:.5}

/* ======= Responsive ======= */
@media (max-width: 800px){
  :root{
    --logo-h: 90px;
    --tile-min: 130px;
    --tile-gap: 3px;
  }
  .video-frame{width:94vw}
}
@media (max-width: 520px){
  :root{
    --logo-h: 74px;
    --tile-min: 96px;
    --tile-gap: 2px;
  }
  .brand{gap:10px}
}
