/* Le dévoilement des pages neuves (01/11/2026) : le voile étoilé du téléphone, repris de nouveau.css
   (lignes du #nv-voile, sans le reste de la feuille). Utilisé par devoilement.js. */
#nv-voile{position:fixed; inset:0; z-index:9999; background:#0b1224; color:#f2e9d4;
  display:flex; align-items:center; justify-content:center; text-align:center;
  opacity:0; transition:opacity .45s ease; pointer-events:none}
#nv-voile.nv-on{opacity:1; pointer-events:auto}
#nv-voile canvas{position:absolute; inset:0; width:100%; height:100%; display:block}
#nv-voile .nv-corps{position:relative; z-index:2; padding:0 28px; max-width:520px; width:100%}
#nv-voile .nv-attente{font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:#b99c5e;
  animation:nvPulse 1.6s ease-in-out infinite}
@keyframes nvPulse{0%,100%{opacity:.55}50%{opacity:1}}
#nv-voile .nv-glyph{width:230px; height:230px; margin:0 auto 10px; position:relative; display:none}
#nv-voile .nv-glyph svg{width:100%; height:100%; overflow:visible}
#nv-voile .nv-glyph .nv-cercle{fill:none; stroke:var(--gold,#e6c76a); stroke-width:1.4; stroke-dasharray:600; stroke-dashoffset:600}
#nv-voile .nv-glyph .nv-halo{position:absolute; inset:-40px; border-radius:50%; opacity:0;
  background:radial-gradient(circle, rgba(230,199,106,.28), transparent 60%)}
#nv-voile .nv-sym{position:absolute; inset:0; display:grid; place-items:center; font-size:96px; line-height:1;
  color:var(--gold,#e6c76a); text-shadow:0 0 22px rgba(230,199,106,.45); opacity:0; transform:scale(.6)}
/* la figure dorée dans le cercle : l'image de la bannière, découpée en rond, un peu en retrait du trait */
#nv-voile .nv-rond{display:block; width:calc(100% - 30px); height:calc(100% - 30px); border-radius:50%; overflow:hidden;
  box-shadow:0 0 30px rgba(230,199,106,.25)}   /* en retrait du trait doré, qui reste visible autour */
#nv-voile .nv-rond img{width:100%; height:100%; object-fit:cover; object-position:50% 40%; display:block;
  transform:scale(1.16); transform-origin:50% 42%}   /* la figure remplit le rond, les étoiles de David du bas restent hors champ */
#nv-voile .nv-kick,#nv-voile .nv-nom,#nv-voile .nv-heb,#nv-voile .nv-date{opacity:0}
#nv-voile .nv-etat{margin-top:14px; font-size:12.5px; color:#93a7d0; min-height:1.4em}
#nv-voile.nv-revele .nv-etat{display:none}
#nv-voile .nv-kick{font-size:11.5px; letter-spacing:.24em; text-transform:uppercase; color:#b99c5e}
#nv-voile .nv-nom{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif; font-weight:500; font-size:48px; line-height:1; margin:8px 0 0}
#nv-voile .nv-heb{font-size:24px; color:#b99c5e; margin-top:8px}
#nv-voile .nv-date{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif; font-style:italic; font-size:21px; color:#cfc6b0; margin-top:16px}
#nv-voile .nv-passer{position:absolute; top:calc(18px + env(safe-area-inset-top,0px)); right:18px; z-index:3;
  background:none; border:0; color:#93a7d0; font:14px inherit; font-family:inherit; cursor:pointer; padding:8px}

/* la révélation : chaque pièce arrive à son tour */
#nv-voile.nv-revele .nv-attente{display:none}
#nv-voile.nv-revele .nv-glyph{display:block}
#nv-voile.nv-revele .nv-cercle{animation:nvTrace 1.3s .1s ease forwards}
#nv-voile.nv-revele .nv-sym{animation:nvSym .9s .8s cubic-bezier(.2,.8,.2,1) forwards}
#nv-voile.nv-revele .nv-halo{animation:nvSouffle 3s 1.5s ease-in-out infinite}
#nv-voile.nv-revele .nv-kick{animation:nvMonte .6s 1.5s ease forwards}
#nv-voile.nv-revele .nv-nom{animation:nvMonte .6s 1.7s ease forwards}
#nv-voile.nv-revele .nv-heb{animation:nvMonte .6s 1.9s ease forwards}
#nv-voile.nv-revele .nv-date{animation:nvMonte .6s 2.2s ease forwards}
@keyframes nvTrace{to{stroke-dashoffset:0}}
@keyframes nvSym{to{opacity:1; transform:scale(1)}}
@keyframes nvSouffle{0%,100%{opacity:.5; transform:scale(1)}50%{opacity:1; transform:scale(1.08)}}
@keyframes nvMonte{from{opacity:0; transform:translateY(10px)}to{opacity:1; transform:none}}
#nv-voile .nv-duo{display:flex; align-items:flex-start; justify-content:center; gap:10px; margin-bottom:8px}
#nv-voile .nv-duo-un{flex:1 1 0; min-width:0}
#nv-voile .nv-duo-glyph{width:min(38vw, 150px); height:min(38vw, 150px); margin:0 auto 8px}
#nv-voile .nv-duo-nom{font-size:26px; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
#nv-voile .nv-duo-signe{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif; font-style:italic; font-size:19px; margin-top:4px}
#nv-voile .nv-duo-et{align-self:center; font-family:"Cormorant Garamond",Georgia,serif; font-size:44px; color:var(--gold,#e6c76a); padding-bottom:70px; opacity:0; animation:nvMonte .6s 1.4s ease forwards}
#nv-voile.nv-revele .nv-duo-nom{animation:nvMonte .6s 1.5s ease forwards}
#nv-voile.nv-revele .nv-duo-signe{animation:nvMonte .6s 1.8s ease forwards}
@media (prefers-reduced-motion:reduce){ #nv-voile *{animation-duration:.01ms !important; animation-delay:0s !important} }
