/* Final integration audit: contained light, readable controls, stable layout. */
html{scroll-padding-top:100px}
body[data-fc-page="accueil"] .fc-entete{opacity:1;transform:none;pointer-events:auto;background:linear-gradient(180deg,rgba(7,9,14,.92),rgba(7,9,14,.68));border-bottom:1px solid rgba(234,232,226,.12)}
.fc-entete .fc-nav a{white-space:nowrap}
.fc-entete__inner,.fc-entete__droite{min-width:0}
/* Atmospheric effects stay below menus and concentrate at the frame edges. */
body::before{z-index:3;inset:0;opacity:.015;animation:none}
body::after{z-index:3;opacity:.045;mask-image:linear-gradient(90deg,#000,transparent 26% 74%,#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent 26% 74%,#000)}
.fc-meteo-ciel{z-index:4;opacity:.28;mask-image:linear-gradient(90deg,#000,transparent 25% 75%,#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent 25% 75%,#000)}
.fc-b54-field{z-index:4;opacity:.18;mask-image:linear-gradient(90deg,#000,transparent 26% 74%,#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent 26% 74%,#000)}
.fc-b54-aura{inset:0;filter:none;opacity:.25}
.fc-b54-scan,.fc-b54-corners{z-index:5;opacity:.1}
.fc-cinema-global{z-index:6}
.fc-cinema-vignette{opacity:.12}
/* Overscan remains inside the artwork, never across the next section. */
.fc3d-hote{overflow:clip;isolation:isolate}
.fc3d-voile{inset:0;overflow:hidden;clip-path:inset(0)}
.fc3d-caustics{opacity:.12;filter:none}
.fc3d-statique .fc3d-caustics{opacity:.12}
.fc3d-voile::before,.fc3d-voile::after{opacity:.5}
.fc3d-poussiere{opacity:.45}
.fc-cinema-shot,.fc-home-direction__portrait,.fc-direction-couture__portrait{overflow:clip}
.fc-home-direction__veil{inset:0;clip-path:inset(0);opacity:.1}
.fc-home-direction__portrait::after{opacity:.1}
/* Photographs retain detail in their highlights in both interaction states. */
.fc-portrait-lumiere.fc-portrait-lumiere img,.fc-portrait-lumiere.fc-portrait-lumiere picture img{filter:grayscale(1) brightness(1.02) contrast(.98)}
.fc-portrait-lumiere.fc-portrait-lumiere:hover img,.fc-portrait-lumiere.fc-portrait-lumiere:focus-within img{filter:grayscale(0) brightness(1) contrast(1.02)}
/* All permanent utilities are readable; decorative captions keep their scale. */
.fc-engagement__email-note{font-size:14px;line-height:1.6;max-width:52ch;color:var(--texte-doux)}
.fc-concierge__toggle{font-size:12px}
.fc-nepal .langues button{font-size:12px!important}
.fc-nepal:not(.affiche):not(.fond) .continue-visit{font-size:12px}
.fc-nepal .night-stage{contain:paint}
@media(min-width:1101px) and (max-width:1600px){
 .fc-entete .fc-nav{gap:14px}
 .fc-entete .fc-nav a{font-size:12px}
 .fc-marque__nom{font-size:15px;letter-spacing:.13em}
 .fc-entete__droite{gap:12px}
}
@media(max-width:1100px){
 .fc-entete .fc-nav{display:none}
 .fc-entete .fc-bascule{display:block;min-height:32px}
}
@media(max-width:760px){
 .fc-b54-field{opacity:.1}
 .fc-meteo-ciel{opacity:.18}
 .fc-cinema-vignette{opacity:.06}
 .fc3d-caustics{opacity:.08}
 .fc-nepal:not(.affiche):not(.fond) .continue-visit{bottom:max(22px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
 .fc-b54-field,.fc-b54-aura,.fc-meteo-ciel,.fc3d-poussiere{display:none!important}
 .fc-anneau,.fc-curseur{display:none!important}
 body::before{animation:none}
}
@media print{
 body::before,body::after,.fc-b54-field,.fc-meteo-ciel,.fc-b54-aura,.fc-b54-scan,.fc-b54-corners,.fc-cinema-global,.fc-privacy-settings,.fc-concierge{display:none!important}
}

/* The archive filter must remain reachable even when no image matches. */
.fc-galerie > .est-filtree,.fc-galerie > [hidden]{display:none!important}
.fc-section:has([data-fc-filtres]){display:block!important}
.fc-section:has(#fc-archive-grille:not(:has(figure:not(.est-filtree)))) .fc-tete{display:none}
.fc-filtre-resultat{font-size:14px;line-height:1.6;margin:20px 0;color:var(--texte-doux)}

.fc-section[hidden],.fc-tete[hidden]{display:none!important}
@media(max-width:1100px){
 .fc-entete:has(.fc-mobnav.est-ouverte){transform:none!important}
 .fc-mobnav{inset:0;height:100dvh;width:100vw;box-sizing:border-box;padding:94px 6vw 32px;justify-content:flex-start;gap:12px;overflow-y:auto;overscroll-behavior:contain;background:#080b11}
 .fc-mobnav a{flex-shrink:0;font-size:clamp(26px,6.5vw,38px);line-height:1.3}
 .fc-mobnav__langues{margin-top:12px}
 .fc-mobnav__langues a{font-size:15px;padding:8px}
 .fc-entete__inner{position:relative;z-index:6001}
 .fc-entete:has(.fc-mobnav.est-ouverte) .fc-entete__inner{background:#080b11}
 body:has(.fc-mobnav.est-ouverte) .fc-climat,body:has(.fc-mobnav.est-ouverte) .fc-concierge,body:has(.fc-mobnav.est-ouverte) .fc-privacy-settings{visibility:hidden}
}

/* Navigation dialog owns the screen; language choices have their own place. */
.fc-mondes{z-index:2147483200;isolation:isolate;background:#080b11;overflow-y:auto;overscroll-behavior:contain;max-height:100dvh;padding:100px 6vw 40px;justify-content:flex-start}
.fc-mondes__fermer{top:22px;right:6vw;min-height:44px;padding:10px 18px;border:1px solid rgba(240,238,232,.45);background:#080b11}
.fc-mondes__langues{display:flex;gap:26px;margin:0 0 28px;align-self:flex-start}
.fc-mondes__langues a{font:13px var(--f-ui);letter-spacing:.16em;min-height:44px;padding:12px 4px;color:var(--ivoire)}
.fc-mondes__langues a[aria-current="page"]{border-bottom:1px solid currentColor}
body:has(.fc-mondes.est-ouvert) .fc-climat,body:has(.fc-mondes.est-ouvert) .fc-concierge,body:has(.fc-mondes.est-ouvert) .fc-privacy-settings{visibility:hidden}

.fc-mondes__grille{width:100%;min-height:0}
.fc-mondes__langues{flex-shrink:0}

/* R9 — Harmonisation des surfaces, de la lumière et des utilitaires. */
body .fc-entete{background:linear-gradient(180deg,rgba(7,9,14,.94),rgba(7,9,14,.82));border-bottom:1px solid rgba(234,232,226,.12)}
body .fc-climat-ouverture.est-dissoute,body .fc-climat-ouverture.est-interrompue{opacity:0!important;pointer-events:none}
body .fc-climat .fc-climat__verre,body .fc-climat:not(:hover):not(:focus-within):not([data-ouvert="true"]) .fc-climat__verre{background:linear-gradient(145deg,rgba(20,23,30,.96),rgba(10,13,19,.94));border-color:rgba(228,226,218,.22);box-shadow:0 8px 22px rgba(0,0,0,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body .fc-climat .fc-climat__verre::before{opacity:.18}
body .fc-climat .fc-climat__ville{color:#eceae4;font-size:10px;letter-spacing:.12em}
body .fc-climat .fc-climat__etat,body .fc-climat .fc-climat__heure{color:#c5c8cd;font-size:10px;letter-spacing:.035em}
body .fc-climat .fc-climat__temperature{color:#eceae4}
body .fc-climat :is(.fc-climat__mesure span,.fc-climat__bas,.fc-climat__localiser){color:#bcc2cc;font-size:10px;letter-spacing:.06em}
body .fc-climat :is(.fc-climat__changer,.fc-climat__localiser){min-height:32px}
body .fc-climat[data-source="local-time"] .fc-climat__temperature{display:none}
html.fc-eclair body{box-shadow:inset 0 0 9vmax 1vmax hsl(46 20% 94% / .035)}
body[data-fc-page="projet"] .fc-page-heros__ombre{background:linear-gradient(90deg,rgba(4,7,12,.66),rgba(4,7,12,.28) 58%,rgba(4,7,12,.10)),linear-gradient(180deg,rgba(4,7,12,.24),transparent 42%,rgba(4,7,12,.91))}
body[data-fc-page="projet"] .fc-page-heros :is(.fc-sous,.fc-label){color:#e6e5e2;text-shadow:0 1px 3px rgba(0,0,0,.55)}
body[data-fc-page="soutien"] .fc-page-heros__titre{font-size:clamp(3rem,5.7vw,6.2rem);line-height:.96;max-width:11ch}
.fc-jour .fc-luxe-section-index{color:var(--ornement)}
@media(max-width:760px){
 body[data-fc-page="soutien"] .fc-page-heros__titre{font-size:clamp(2.7rem,11.2vw,4.5rem)}
 body .fc-climat .fc-climat__ville{font-size:9px;letter-spacing:.08em}
 body[data-fc-page="projet"] .fc-page-heros__ombre{background:linear-gradient(180deg,rgba(4,7,12,.45),rgba(4,7,12,.48) 58%,rgba(4,7,12,.88))}
}
/* Un seul accès de navigation sur téléphone ; le menu conserve les langues. */
@media(max-width:760px){
 .fc-entete .fc-mondes-ouvre{display:none}
 .fc-entete .fc-entete__droite{flex:none;gap:14px}
 .fc-entete .fc-marque{min-width:0;max-width:calc(100% - 82px)}
 .fc-entete .fc-marque__nom{font-size:clamp(10px,3.05vw,14px);letter-spacing:.10em}
 .fc-entete .fc-bascule{flex:0 0 30px;width:30px}
}

/* Compact desktop navigation: existing primary links remain visible; avoid clipping the duplicate worlds launcher. */
@media(max-width:1600px){.fc-entete .fc-mondes-ouvre{display:none}}
