/* Fondazione Caravelli · Annonce Népal « Veille ».
 * Triptyque : I La nuit a pris · II Il reste une veille · III La Fondazione entre dans la nuit.
 * Palette : noir minéral, bleu nuit ardoise, gris cendre, blanc papier os ; une seule chaleur, l'ambre des maisons
 * (portée par les lueurs SVG, jamais diffusée). Aucun or.
 * Plans : la caméra commence près du hameau, tient sur la veille, puis recule quand la Fondazione entre dans la nuit.
 * Phases posées par le script (ph-0 … ph-4) ; transitions d'état seulement. « Tout lire », pause, onglet masqué et
 * mouvement réduit coupent les transitions (transition-property: none) : l'état final est immédiat, rien ne se rejoue.
 * Assets : /assets/nepal-veille/ (catalogue : ASSETS_VEILLE/catalogue.json).
 */
.fc-nepal{
  --noir:#05070d;--ardoise:#243746;--graphite:#343a49;--cendre:#8fa9b8;--os:#f0ece3;--encre:#1f2430;
  --display:"Bodoni Moda",Didot,serif;--reading:"Cormorant Garamond",Georgia,serif;--sans:Manrope,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);--lent:cubic-bezier(.45,.05,.2,1);
  --cadre-zoom:1;--cadre-x:100%;--cadre-y:50%;--cadre-fx:100%;--cadre-fy:50%;
  --plan-0:1.2;--plan-1:1.14;--plan-2:1.1;--plan-3:1;
  --lanterne-x:88.54%;--lanterne-y:90.82%;--pas-dx:-8.07%;--pas-dy:-24.8%;
  color:var(--os);font-family:var(--reading);font-synthesis:none;-webkit-font-smoothing:antialiased;text-align:left
}
.fc-nepal *,.fc-nepal *::before,.fc-nepal *::after{box-sizing:border-box;font-synthesis:none}
dialog.fc-nepal{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--noir);overflow:auto;overscroll-behavior:contain;isolation:isolate;transition:opacity 380ms var(--ease)}
dialog.fc-nepal:not([open]){display:none}
dialog.fc-nepal::backdrop{background:var(--noir)}
dialog.fc-nepal.is-leaving{opacity:0;pointer-events:none}
dialog.fc-nepal.is-leaving::backdrop{background:transparent}
.fc-nepal :is(p,h2,h3,ol,header,footer,nav,section){margin:0;padding:0;border:0;background:none}
.fc-nepal :is(button,a){-webkit-tap-highlight-color:transparent}
.fc-nepal button{font-family:var(--sans);font-weight:500;color:inherit;cursor:pointer;border:0;background:none;padding:0}
.fc-nepal :is(button,a):focus-visible{outline:1px solid var(--os);outline-offset:4px}
.fc-nepal .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fc-nepal-reopen{font:500 12px/1.4 Manrope,sans-serif;color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:10px 0;cursor:pointer}
.fc-nepal-footnote{margin-top:22px;text-align:center}
body[data-nepal-standalone]{margin:0;background:#05070d}

/* Plan : la nuit reste immobile derrière le récit ; sur petit écran, le registre défile par-dessus. */
.fc-nepal .veille-plan{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;container-type:size;background:var(--noir) url("/assets/nepal-veille/texture_mineral_slate_dark.webp?v=d6ca44519e9a") 0 0/512px 512px}
.fc-nepal .veille-plan::before,.fc-nepal .veille-plan::after{content:"";position:absolute;left:0;right:0;z-index:3}
.fc-nepal .veille-plan::before{top:0;height:26%;background:linear-gradient(180deg,rgba(5,7,13,.8),rgba(36,55,70,.12) 62%,transparent)}
.fc-nepal .veille-plan::after{bottom:0;height:24%;background:linear-gradient(0deg,rgba(5,7,13,.88),transparent)}
/* Cadre au rapport de l'œuvre (3:2), toujours couvrant et calé à droite : un écran plus étroit que l'œuvre en rogne le flanc
 * gauche, jamais le hameau. Lumières, chemin et relevé sont placés en coordonnées de l'image.
 * L'échelle part de la veille (origine), qui reste donc immobile à l'écran pendant les mouvements de caméra. */
.fc-nepal .veille-cadre{position:absolute;left:var(--cadre-x);top:var(--cadre-y);width:calc(max(100cqw,150cqh) * var(--cadre-zoom));aspect-ratio:3/2;translate:calc(-1 * var(--cadre-fx)) calc(-1 * var(--cadre-fy));transform-origin:78.9% 64.6%;scale:var(--plan-0)}
.fc-nepal .veille-plaque,.fc-nepal .veille-aube{position:absolute;inset:0;width:100%;height:100%;display:block}
/* Noir dense, puis une clairière étroite autour de la veille (zones de silence). */
.fc-nepal .veille-voile,.fc-nepal .veille-ombre{position:absolute;inset:0}
.fc-nepal .veille-voile{background:var(--noir);opacity:1}
.fc-nepal .veille-ombre{opacity:0;background:radial-gradient(ellipse 23% 31% at 78.9% 64.6%,rgba(5,7,13,.1) 0,rgba(5,7,13,.58) 58%,rgba(5,7,13,.93) 100%)}
.fc-nepal .veille-aube{opacity:0;translate:0 4%;mix-blend-mode:screen}
.fc-nepal .veille-souffle{position:absolute;top:0;left:0;width:calc(100% + 620px);height:calc(100% + 620px);z-index:2;opacity:0;background:url("/assets/nepal-veille/overlay_dust_breath_subtle.webp?v=b4ae4add255e") 0 0/620px 620px;animation:veille-souffle 70s linear infinite}
@keyframes veille-souffle{to{translate:-620px -620px}}

/* Lumières des maisons : lueurs SVG à l'échelle de l'œuvre. ::before = lumière faible, ::after = lumière tenue. */
.fc-nepal .foyer{position:absolute;width:4.6%;aspect-ratio:1;translate:-50% -50%;opacity:0}
.fc-nepal .foyer::before,.fc-nepal .foyer::after{content:"";position:absolute;inset:0;background:url("/assets/nepal-veille/mask_window_glow_set/window_glow_faint.svg?v=62c1b9569084") center/contain no-repeat}
.fc-nepal .foyer::after{background-image:url("/assets/nepal-veille/mask_window_glow_set/window_glow_held.svg?v=24f109d9164c");opacity:0}
.fc-nepal .foyer-a1{left:76.82%;top:63.28%}
.fc-nepal .foyer-a3{left:81.25%;top:63.48%}
.fc-nepal .foyer-r1{left:90.82%;top:58.98%}
.fc-nepal .foyer-r2{left:92.97%;top:58.2%}
.fc-nepal .foyer-veille{left:78.91%;top:64.65%;width:5.2%}
.fc-nepal .foyer .vive{position:absolute;inset:0;opacity:0;background:url("/assets/nepal-veille/mask_window_glow_set/window_glow_bright.svg?v=ad162930d369") center/contain no-repeat}
.fc-nepal .foyer .chaleur{position:absolute;left:50%;top:50%;width:420%;aspect-ratio:1;translate:-50% -46%;opacity:0;mix-blend-mode:screen;background:url("/assets/nepal-veille/mask_window_glow_set/warm_spill_rock.svg?v=b1214edfab7f") center/contain no-repeat}
/* Lanterne portée : deux déplacements aux courbes différentes dessinent le chemin. */
.fc-nepal .veille-chemin,.fc-nepal .veille-pas{position:absolute;inset:0;translate:0 0}
.fc-nepal .lanterne{position:absolute;left:var(--lanterne-x);top:var(--lanterne-y);width:4.6%;aspect-ratio:1;translate:-50% -50%;opacity:0;background:url("/assets/nepal-veille/mask_window_glow_set/lantern_glow.svg?v=31b157b43616") center/contain no-repeat}
/* Relevé : trait fin de la lumière vers sa note, comme sur un relevé de terrain. */
.fc-nepal .veille-releve{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fc-nepal .veille-releve path{fill:none;stroke:rgba(143,169,184,.72);stroke-width:1.3;stroke-dasharray:100;stroke-dashoffset:100}
.fc-nepal .veille-releve .releve-etroit{display:none}
.fc-nepal .veille-note{position:absolute;left:87.1%;top:58.4%;translate:0 -52%;font:italic 400 clamp(15px,1.2vw,19px)/1.2 var(--reading);letter-spacing:.01em;color:rgba(240,236,227,.9);white-space:nowrap;opacity:0;text-shadow:0 1px 10px rgba(5,7,13,.9)}

/* Lueur du veilleur (écrans à curseur) : une lumière froide portée par le pointeur éclaire le relief en nappe étroite. Fusion
 * color-dodge sur un dégradé sombre : un gain de lumière, les noirs restent noirs (ni voile laiteux ni fumée) ; un halo d'air
 * très léger (screen, 7 %) la rend perceptible. Deux calques frères de la plaque, une fusion chacun. Elle vit du mouvement,
 * bat légèrement à chaque pas, s'éteint à l'arrêt, et le script la retient sur le récit.
 * La veille et la lanterne répondent à chaque pas par un pouls ambre, posé sur leurs propres lueurs. */
.fc-nepal :is(.veille-lueur,.veille-halo){position:absolute;left:0;top:0;z-index:1;width:clamp(280px,36vmax,620px);aspect-ratio:1.25;pointer-events:none;opacity:var(--li,0);translate:calc(var(--lx,-9999px) - 50%) calc(var(--ly,-9999px) - 50%);scale:calc(1 + var(--lb,0) * .04)}
.fc-nepal .veille-lueur{background:radial-gradient(closest-side,rgb(84 92 104),rgb(34 38 44) 50%,rgb(0 0 0));mix-blend-mode:color-dodge}
.fc-nepal .veille-halo{background:radial-gradient(closest-side,rgba(170,190,205,.07),rgba(143,169,184,.025) 45%,rgba(143,169,184,0));mix-blend-mode:screen}
.fc-nepal:not(.ph-1) :is(.veille-lueur,.veille-halo){display:none}
.fc-nepal .foyer .pouls{position:absolute;inset:-8%;opacity:var(--pouls,0);scale:calc(1 + var(--pouls,0) * .1);background:url("/assets/nepal-veille/mask_window_glow_set/window_glow_bright.svg?v=ad162930d369") center/contain no-repeat}
.fc-nepal .lanterne::after{content:"";position:absolute;inset:0;background:inherit;opacity:var(--pouls,0)}
@media (hover:none),(pointer:coarse){
  .fc-nepal :is(.veille-lueur,.veille-halo,.foyer .pouls),.fc-nepal .lanterne::after{display:none}
}

/* Scène : une seule colonne ; récit en haut à gauche, registre en bas à gauche, dans le noir, loin du hameau. */
.fc-nepal .veille-scene{position:relative;z-index:1;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;padding:0 clamp(24px,5.4vw,84px)}
.fc-nepal .veille-scene>*{grid-column:1}
.fc-nepal.veille::after{content:"";position:fixed;inset:12px;border:1px solid rgba(240,236,227,.1);pointer-events:none;z-index:4}
.fc-nepal .veille-entete{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px}
.fc-nepal :is(.veille-entete,.veille-pied){opacity:.64;transition:opacity 900ms ease}
.fc-nepal :is(.veille-entete,.veille-pied):is(:hover,:focus-within){opacity:1}
.fc-nepal .maison{font:400 13px/1.15 var(--display);letter-spacing:.2em;text-transform:uppercase;color:rgba(240,236,227,.9)}
.fc-nepal .controls{display:flex;align-items:center;gap:6px}
.fc-nepal .langues{display:flex}
.fc-nepal .langues button{min-width:40px;min-height:44px;font-size:11px;letter-spacing:.12em;color:rgba(240,236,227,.66)}
.fc-nepal .langues button[aria-pressed="true"]{color:var(--os);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.fc-nepal .motion{width:44px;height:44px;font-size:13px;color:rgba(240,236,227,.76)}
.fc-nepal .motion:disabled{opacity:.4;cursor:default}
.fc-nepal .fc-nepal__close{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(240,236,227,.36);border-radius:50%;color:var(--os)}
.fc-nepal .fc-nepal__close span{font:300 24px/1 var(--sans);translate:0 -1px}
.fc-nepal .veille-recit{grid-row:2;align-self:start;width:min(48vw,700px);padding-top:clamp(24px,7vh,80px)}
.fc-nepal .constat{font:400 clamp(34px,3.55vw,56px)/1.04 var(--display);letter-spacing:-.03em;color:rgba(240,236,227,.95);text-wrap:balance}
.fc-nepal .inscription{margin:16px 0 28px;font:500 11px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--cendre)}
.fc-nepal .refus{margin:0 0 20px;font:italic 400 clamp(29px,3vw,46px)/1.1 var(--reading);letter-spacing:-.01em;color:rgba(240,236,227,.92);text-wrap:balance}
.fc-nepal .promesse{font:400 clamp(32px,3.4vw,54px)/1.06 var(--display);letter-spacing:-.025em;color:var(--os);text-wrap:balance}

/* Registre des engagements : la Fondazione entre dans la nuit. */
.fc-nepal .registre{grid-row:2;align-self:end;justify-self:start;position:relative;width:min(500px,100%);margin:24px 0 22px;padding:8px 14px 6px;color:var(--encre);background:#efeae1 url("/assets/nepal-veille/texture_paper_register_bone.webp?v=7c90bd8ec2dd") 0 0/512px 512px;border:22px solid transparent;border-image:url("/assets/nepal-veille/frame_notice_paper_reserve.svg?v=d67f3ec2edd7") 24 / 22px stretch;box-shadow:0 34px 90px rgba(1,3,8,.64),0 2px 0 rgba(1,3,8,.3);opacity:0;translate:0 18px}
.fc-nepal .registre::before{content:"";position:absolute;inset:-22px;background:url("/assets/nepal-veille/map_relief_contour_nepal_subtle.svg?v=0c837a15e2a4") 72% 100%/190% auto no-repeat;opacity:.085;pointer-events:none}
.fc-nepal .registre-titre{position:relative;margin-bottom:12px;padding-bottom:11px;font:500 10px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(31,36,48,.74)}
.fc-nepal .registre-titre::after,.fc-nepal .entree::after,.fc-nepal .lien::before{content:"";position:absolute;left:0;bottom:0;height:7px;background:rgba(31,36,48,.62);-webkit-mask:url("/assets/nepal-veille/line_plume_ink_soft.svg?v=19bf91534bc1") 0 50%/100% 100% no-repeat;mask:url("/assets/nepal-veille/line_plume_ink_soft.svg?v=19bf91534bc1") 0 50%/100% 100% no-repeat;clip-path:inset(0 100% 0 0)}
.fc-nepal .registre-titre::after{width:62px}
.fc-nepal .registre-entrees{list-style:none;display:grid;gap:9px}
.fc-nepal .entree{position:relative;display:grid;gap:2px;padding-bottom:10px;opacity:0;translate:0 6px}
.fc-nepal .entree::after{right:14%;background:rgba(31,36,48,.34)}
.fc-nepal .entree-label{font:500 9.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(31,36,48,.6)}
.fc-nepal .entree-texte{font:400 17.5px/1.32 var(--reading);color:var(--encre)}
.fc-nepal .proof-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(31,36,48,.42)}
.fc-nepal .registre-pied{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 18px;margin-top:14px}
.fc-nepal .signature{grid-column:1;font:400 11.5px/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;opacity:0}
.fc-nepal .devise{grid-column:1;font:italic 400 14px/1.3 var(--reading);color:rgba(31,36,48,.74);opacity:0}
.fc-nepal .devise span{display:block}
.fc-nepal .lien{grid-column:2;grid-row:1 / span 2;position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font:500 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--encre);text-decoration:none;opacity:0}
.fc-nepal .lien::after{content:"\2197";font:300 18px/1 var(--sans);letter-spacing:0;transition:translate 400ms var(--ease)}
.fc-nepal .lien:hover::after{translate:3px -3px}
.fc-nepal .lien::before{width:100%;bottom:4px;background:rgba(31,36,48,.7)}
.fc-nepal .registre :focus-visible{outline-color:var(--encre)}

/* Pied : acte, relecture, sortie. */
.fc-nepal .veille-pied{grid-row:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:26px}
.fc-nepal .act-label{margin-bottom:4px;font:500 10px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(143,169,184,.95);white-space:nowrap}
.fc-nepal .reading-buttons{display:flex;gap:22px}
.fc-nepal .reading-buttons [hidden]{display:none}
.fc-nepal .cmd{min-height:40px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,236,227,.8);text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(240,236,227,.3)}
.fc-nepal .continue-visit{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:0 20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--os);border:1px solid rgba(240,236,227,.44);background:rgba(5,7,13,.4);transition:background 300ms var(--ease),color 300ms var(--ease)}
.fc-nepal .continue-visit::after{content:"\2192";font-size:18px;letter-spacing:0}
.fc-nepal .continue-visit:hover{background:var(--os);color:var(--encre)}
.fc-nepal .jauge{position:fixed;left:12px;right:12px;bottom:12px;height:1px;background:rgba(240,236,227,.08);z-index:7;pointer-events:none}
.fc-nepal .jauge i{display:block;width:0;height:100%;background:rgba(143,169,184,.72);transition:width 900ms var(--ease)}

/* Récit invisible avant son acte. */
.fc-nepal :is(.constat,.inscription,.refus,.promesse){opacity:0;translate:0 10px}

/* ACTE I — La nuit a pris (ph-0) : le noir se lève à peine sur le hameau ; cinq fenêtres, quatre s'éteignent. */
.fc-nepal.ph-0 .veille-voile{opacity:.72;transition:opacity 3400ms var(--lent) 400ms}
.fc-nepal.ph-0 .veille-cadre{scale:var(--plan-1);transition:scale 7000ms var(--lent)}
.fc-nepal.ph-0 .veille-souffle{opacity:.7;transition:opacity 2400ms ease 400ms}
.fc-nepal.ph-0 .foyer{opacity:1;transition:opacity 1100ms ease 900ms}
.fc-nepal.ph-0 :is(.foyer-a1,.foyer-r2,.foyer-a3,.foyer-r1)::before{opacity:0;transition:opacity 1100ms ease}
.fc-nepal.ph-0 .foyer-a1::before{transition-delay:2100ms}
.fc-nepal.ph-0 .foyer-r2::before{transition-delay:2700ms}
.fc-nepal.ph-0 .foyer-a3::before{transition-delay:3250ms}
.fc-nepal.ph-0 .foyer-r1::before{transition-delay:3750ms}
.fc-nepal.ph-0 .foyer-veille::before{opacity:.4;transition:opacity 1400ms ease 3900ms}
.fc-nepal.ph-0 .constat{opacity:1;translate:0 0;transition:opacity 1600ms ease 1900ms,translate 2000ms var(--ease) 1900ms}
.fc-nepal.ph-0 .inscription{opacity:1;translate:0 0;transition:opacity 1200ms ease 3700ms,translate 1400ms var(--ease) 3700ms}

/* ACTE II — Il reste une veille (ph-1) : la dernière fenêtre se réchauffe et tient ; relevé, puis refus. */
.fc-nepal.ph-1 .veille-voile{opacity:0;transition:opacity 2800ms var(--lent)}
.fc-nepal.ph-1 .veille-ombre{opacity:1;transition:opacity 2800ms var(--lent)}
.fc-nepal.ph-1 .veille-cadre{scale:var(--plan-2);transition:scale 5200ms var(--lent)}
.fc-nepal.ph-1 .foyer-veille::before{opacity:0;transition:opacity 1800ms ease 200ms}
.fc-nepal.ph-1 .foyer-veille::after{opacity:1;transition:opacity 2200ms var(--lent) 200ms}
.fc-nepal.ph-1 .foyer-veille .chaleur{opacity:1;transition:opacity 3000ms var(--lent) 700ms}
.fc-nepal.ph-1 .veille-releve path{stroke-dashoffset:0;transition:stroke-dashoffset 1300ms var(--lent) 1000ms}
.fc-nepal.ph-1 .veille-note{opacity:1;transition:opacity 1400ms ease 1700ms}
.fc-nepal.ph-1 .refus{opacity:1;translate:0 0;transition:opacity 1600ms ease 2500ms,translate 2000ms var(--ease) 2500ms}
.fc-nepal.ph-1 .constat{opacity:.84;transition:opacity 1600ms ease 2500ms}

/* ACTE III — La Fondazione entre dans la nuit (ph-2) : promesse ; la caméra recule ; une lanterne monte vers la veille. */
.fc-nepal.ph-2 :is(.veille-entete,.veille-pied){opacity:1}
.fc-nepal.ph-2 .promesse{opacity:1;translate:0 0;transition:opacity 1600ms ease 300ms,translate 2000ms var(--ease) 300ms}
.fc-nepal.ph-2 :is(.constat,.refus){opacity:.76;transition:opacity 1800ms ease 300ms}
.fc-nepal.ph-2 .inscription{opacity:.8;transition:opacity 1800ms ease 300ms}
.fc-nepal.ph-2 .veille-cadre{scale:var(--plan-3);transition:scale 7200ms var(--lent) 400ms}
.fc-nepal.ph-2 .veille-ombre{opacity:.82;transition:opacity 4000ms var(--lent) 1000ms}
.fc-nepal.ph-2 .lanterne{opacity:1;transition:opacity 1500ms ease 500ms}
.fc-nepal.ph-2 .veille-chemin{translate:var(--pas-dx) 0;transition:translate 5400ms cubic-bezier(.42,0,.5,1) 700ms}
.fc-nepal.ph-2 .veille-pas{translate:0 var(--pas-dy);transition:translate 5400ms cubic-bezier(.22,.55,.36,1) 700ms}
.fc-nepal.ph-2 .veille-aube{opacity:.22;translate:0 0;transition:opacity 4200ms var(--lent) 1100ms,translate 6000ms var(--lent) 1100ms}
.fc-nepal.ph-2 .veille-souffle{opacity:.35;transition:opacity 3000ms ease}

/* Registre (ph-3) : la page entre ; chaque ligne est tracée à la plume sous son engagement. */
.fc-nepal.ph-3 .registre{opacity:1;translate:0 0;transition:opacity 1100ms ease,translate 1500ms var(--ease)}
.fc-nepal.ph-3 .registre-titre::after{clip-path:inset(0);transition:clip-path 900ms var(--lent) 500ms}
.fc-nepal.ph-3 .entree{opacity:1;translate:0 0;transition:opacity 1000ms ease,translate 1200ms var(--ease)}
.fc-nepal.ph-3 .entree::after{clip-path:inset(0);transition:clip-path 1000ms var(--lent)}
.fc-nepal.ph-3 .entree-1{transition-delay:700ms}
.fc-nepal.ph-3 .entree-2{transition-delay:1250ms}
.fc-nepal.ph-3 .entree-3{transition-delay:1800ms}
.fc-nepal.ph-3 .entree-1::after{transition-delay:1100ms}
.fc-nepal.ph-3 .entree-2::after{transition-delay:1650ms}
.fc-nepal.ph-3 .entree-3::after{transition-delay:2200ms}

/* Dénouement (ph-4) : signature, devise, puis le geste souligné. */
/* La lanterne arrivée, la veille s'avive : relèvement, sans éclat. */
.fc-nepal.ph-4 .foyer-veille .vive{opacity:.85;transition:opacity 2400ms var(--lent) 900ms}
.fc-nepal.ph-4 .signature{opacity:1;transition:opacity 1200ms ease 200ms}
.fc-nepal.ph-4 .devise{opacity:1;transition:opacity 1400ms ease 650ms}
.fc-nepal.ph-4 .lien{opacity:1;transition:opacity 1000ms ease 1000ms}
.fc-nepal.ph-4 .lien::before{clip-path:inset(0);transition:clip-path 1100ms var(--lent) 1400ms}

/* Arrêt : état final immédiat. Couper la propriété (et non la durée) annule aussi les transitions déjà lancées.
 * Pseudo-éléments écrits hors de :is(), qui ne peut pas en contenir (lueurs des fenêtres, traits de plume). */
.fc-nepal:is(.instant,.reduit) *,.fc-nepal:is(.instant,.reduit) *::before,.fc-nepal:is(.instant,.reduit) *::after,.fc-nepal:is(.instant,.reduit)::after{transition-property:none!important;animation:none!important}
.fc-nepal:is(.motion-paused,.scene-hidden) *,.fc-nepal:is(.motion-paused,.scene-hidden) *::before,.fc-nepal:is(.motion-paused,.scene-hidden) *::after{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
  .fc-nepal *,.fc-nepal *::before,.fc-nepal *::after{transition-property:none!important;animation:none!important}
  .fc-nepal :is(.veille-lueur,.veille-halo,.foyer .pouls),.fc-nepal .lanterne::after{display:none}
}

/* Hauteurs moyennes : même composition, récit et registre resserrés pour tenir dans l'écran. */
@media (min-width:701px) and (max-height:900px){
  .fc-nepal .veille-entete{padding-top:14px}
  .fc-nepal .veille-recit{padding-top:clamp(12px,3vh,32px)}
  .fc-nepal .constat{font-size:clamp(30px,3.1vw,46px)}
  .fc-nepal .inscription{margin:10px 0 18px}
  .fc-nepal .refus{margin-bottom:12px;font-size:clamp(25px,2.5vw,38px)}
  .fc-nepal .promesse{font-size:clamp(27px,2.8vw,43px)}
  .fc-nepal .registre{margin:14px 0 12px;padding:4px 12px 2px}
  .fc-nepal .registre-titre{margin-bottom:8px;padding-bottom:9px}
  .fc-nepal .registre-entrees{gap:6px}
  .fc-nepal .entree{padding-bottom:8px}
  .fc-nepal .entree-texte{font-size:16.5px;line-height:1.28}
  .fc-nepal .registre-pied{margin-top:9px}
  .fc-nepal .veille-pied{padding-bottom:18px}
}

/* Tablette en portrait : même composition que le bureau, cadrage recentré sur le hameau, registre plus étroit. */
@media (min-width:701px) and (orientation:portrait){
  .fc-nepal{--cadre-fx:78.9%;--cadre-x:60%}
  .fc-nepal .veille-recit{width:min(54vw,520px)}
  .fc-nepal .registre{width:min(390px,48vw)}
}
/* Portrait étroit : la nuit en haut, cadrée sur le hameau (veille à 42 % de la largeur : les cinq fenêtres restent dans le champ) ;
 * récit dessous ; registre en défilement ; pied fixe. */
@media (max-width:700px) and (orientation:portrait){
  .fc-nepal{--cadre-zoom:1.04;--cadre-x:42%;--cadre-y:33%;--cadre-fx:78.9%;--cadre-fy:64.6%;--plan-0:1.1;--plan-1:1.07;--plan-2:1.05;--plan-3:1;--lanterne-x:85.5%;--lanterne-y:79%;--pas-dx:-5.4%;--pas-dy:-13%}
  .fc-nepal .veille-plan::after{height:66%;background:linear-gradient(0deg,rgba(5,7,13,.98) 42%,rgba(5,7,13,.8) 64%,transparent)}
  .fc-nepal .veille-releve .releve-large{display:none}
  .fc-nepal .veille-releve .releve-etroit{display:inline}
  .fc-nepal .veille-note{left:78.91%;top:72.4%;translate:-50% 0;text-align:center;font-size:15px}
  .fc-nepal .veille-scene{grid-template-rows:auto auto auto;padding:0 22px calc(132px + env(safe-area-inset-bottom,0px))}
  .fc-nepal.veille::after{inset:8px}
  .fc-nepal .veille-entete{padding-top:14px}
  .fc-nepal .maison{font-size:11px;letter-spacing:.14em}
  .fc-nepal .maison span{display:block}
  .fc-nepal .langues button{min-width:32px;font-size:10px}
  .fc-nepal .motion{width:34px}
  .fc-nepal .veille-recit{width:100%;padding-top:calc(50svh - 56px)}
  .fc-nepal .constat{font-size:clamp(28px,8.2vw,36px)}
  .fc-nepal .inscription{margin:10px 0 18px;font-size:10px;letter-spacing:.24em}
  .fc-nepal .refus{margin-bottom:14px;font-size:clamp(25px,7.2vw,31px)}
  .fc-nepal .promesse{font-size:clamp(27px,7.9vw,34px)}
  .fc-nepal .registre{grid-row:3;align-self:start;width:100%;margin:36px 0 0;padding:4px 6px 2px}
  .fc-nepal .entree-texte{font-size:17.5px}
  .fc-nepal .registre-pied{grid-template-columns:1fr}
  .fc-nepal .lien{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px}
  .fc-nepal .veille-pied{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;gap:8px;padding:10px 20px calc(16px + env(safe-area-inset-bottom,0px));background:var(--noir);border-top:1px solid rgba(240,236,227,.1);opacity:1}
  .fc-nepal .reading-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .fc-nepal .act-label{margin:0;font-size:9.5px;letter-spacing:.1em;white-space:normal}
  .fc-nepal .continue-visit{justify-content:space-between;min-height:46px}
  .fc-nepal .jauge{left:0;right:0;bottom:0}
}
/* Paysage bas : la nuit en fond, cadrage d'ensemble ; récit compact ; registre et pied en défilement. */
@media (max-height:500px) and (orientation:landscape){
  .fc-nepal{--plan-0:1.12;--plan-1:1.08;--plan-2:1.06;--plan-3:1}
  .fc-nepal .veille-scene{grid-template-rows:auto auto auto auto;padding:0 28px}
  .fc-nepal .veille-entete{padding-top:10px}
  .fc-nepal .maison{font-size:11px}
  .fc-nepal .veille-recit{padding-top:12px;width:min(58vw,560px)}
  .fc-nepal .constat{font-size:25px}
  .fc-nepal .inscription{margin:8px 0 12px;font-size:9.5px}
  .fc-nepal .refus{margin-bottom:10px;font-size:22px}
  .fc-nepal .promesse{font-size:24px}
  .fc-nepal .registre{grid-row:3;align-self:start;margin:22px 0 10px;width:min(420px,62vw)}
  .fc-nepal .veille-pied{grid-row:4;padding:6px 0 18px}
  .fc-nepal .veille-releve .releve-large{display:none}
  .fc-nepal .veille-releve .releve-etroit{display:inline}
  .fc-nepal .veille-note{left:78.91%;top:72.4%;translate:-50% 0;text-align:center;font-size:12.5px}
}

/* Modes affiche et fond (page autonome) : même art, état final, sans commandes. */
.fc-nepal.affiche :is(.controls,.veille-pied),.fc-nepal:is(.affiche,.fond) .jauge,.fc-nepal.fond .veille-scene{display:none}
