/* ==========================================================================
   AZIMUTH — Accueil
   ========================================================================== */

.az-home-main{ animation:none; }

/* Les sections restent collées en haut : la suivante glisse par-dessus la
   précédente, qui s'assombrit et se rapproche légèrement (--cover : 0 → 1). */
html.az-snap{ scroll-snap-type:y mandatory; }
.az-home-section{
  --cover:0;
  position:sticky; top:0;
  height:100vh;
  height:100svh;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  cursor:pointer;
  overflow:hidden;
}
.az-home-section::before{
  content:'';
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,0) 28%, rgba(0,0,0,0) 62%, rgba(0,0,0,.5));
  pointer-events:none;
}
.az-home-top, .az-home-bottom{ z-index:2; }
.az-home-section::after{
  content:'';
  position:absolute; inset:0; z-index:3;
  background:#000;
  opacity:calc(var(--cover) * .7);
  pointer-events:none;
}

.az-home-fill{
  position:absolute; inset:0;
  display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:22vh;
}

.az-home-media{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(calc(1 + var(--cover) * .07));
  will-change:transform;
}

.az-home-top{
  position:absolute; top:86px; left:36px;
  display:flex; flex-direction:column; gap:10px;
  max-width:calc(100% - 72px);
}

.az-home-bar{
  height:1.5px; background:var(--accent);
  width:0;
  transition:width 1s cubic-bezier(.2,.7,.2,1);
}
.az-home-section.revealed .az-home-bar{ width:40px; }

.az-home-title-mask{ overflow:hidden; }
.az-home-title{
  margin:0;
  font:700 15px/1.25 var(--font-display);
  letter-spacing:.04em;
  text-transform:uppercase;
  transform:translateY(110%);
  transition:transform .9s cubic-bezier(.2,.7,.2,1) .15s;
}
.az-home-section.revealed .az-home-title{ transform:translateY(0); }

.az-home-meta{
  display:flex; gap:16px;
  font:500 12px var(--font-ui);
  letter-spacing:.16em;
}
.az-home-meta span{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
}
.az-home-section.revealed .az-home-meta span{ opacity:1; transform:translateY(0); }
.az-home-idx{ color:var(--accent); transition-delay:.35s !important; }
.az-home-cat{ transition-delay:.45s !important; }
.az-home-year{ transition-delay:.55s !important; }

.az-home-bottom{
  position:absolute; left:36px; right:36px; bottom:30px;
  display:flex; justify-content:space-between; align-items:center;
  font:500 12px var(--font-ui);
  letter-spacing:.16em;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .8s ease .7s, transform .8s cubic-bezier(.2,.7,.2,1) .7s;
}
.az-home-section.revealed .az-home-bottom{ opacity:1; transform:translateY(0); }

.az-home-view{
  display:flex; align-items:center; gap:10px;
  transition:color .2s;
}
.az-home-view:hover{ color:var(--accent); }
.az-home-tri{
  width:0; height:0;
  border-left:8px solid var(--accent);
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
}

/* ---------- Repères de défilement (à droite) ---------- */
.az-home-dots{
  position:fixed; right:30px; top:50%; z-index:40;
  transform:translateY(-50%);
  display:flex; flex-direction:column; align-items:flex-end; gap:4px;
}
.az-home-dots button{
  display:flex; align-items:center; justify-content:flex-end; gap:10px;
  padding:6px 0;
  font:500 10px var(--font-mono);
  letter-spacing:.1em;
  color:var(--paper);
}
.az-home-dots span{
  display:block;
  width:14px; height:1.5px;
  background:rgba(242,242,242,.55);
  transition:width 320ms var(--ease-out), background-color .2s ease;
}
.az-home-dots b{
  font-weight:500;
  opacity:0;
  transform:translateX(6px);
  transition:opacity 200ms ease, transform 300ms var(--ease-out);
}
.az-home-dots button.on span{ width:30px; background:var(--accent); }
.az-home-dots button.on b{ opacity:1; transform:none; color:var(--accent); }
@media (hover:hover) and (pointer:fine){
  .az-home-dots button:hover span{ width:26px; background:var(--paper); }
  .az-home-dots button.on:hover span{ background:var(--accent); }
}
@media (max-width:640px){
  .az-home-dots{ right:8px; }
  .az-home-dots b{ display:none; }
  .az-home-dots span{ width:10px; }
  .az-home-dots button.on span{ width:20px; }
  .az-home-top{ top:84px; left:18px; max-width:calc(100% - 52px); }
  .az-home-title{ font-size:19px; }
  .az-home-meta{ gap:12px; font-size:11px; }
  .az-home-bottom{
    left:18px; right:18px; bottom:26px;
    flex-direction:column; align-items:flex-start; gap:10px;
    font-size:11px;
  }
}
@media (prefers-reduced-motion:reduce){
  .az-home-section::after{ opacity:0; }
  .az-home-media{ transform:none; }
}
