/* The same soft, consecutive transparency reveal throughout main content and footer. */
.global-text-inline{display:inline-block}
.global-text-ready .global-text-unit{opacity:0;mask-image:linear-gradient(90deg,#000 0%,#000 44%,transparent 58%,transparent 100%);mask-size:250% 100%;mask-position:100% 0;mask-repeat:no-repeat;translate:0 1px;transition:none}
.global-text-ready .global-text-unit.is-text-visible{opacity:1;mask-position:0 0;translate:0 0;transition:opacity 2.45s cubic-bezier(.2,.35,.45,1),mask-position 2.45s cubic-bezier(.2,.35,.45,1),translate 2.45s cubic-bezier(.16,1,.3,1);transition-delay:var(--text-delay,0ms)}
.global-text-ready .global-text-unit:focus-within,.global-text-ready .global-text-unit:focus-visible{opacity:1;mask-image:none;translate:none;transition:none}
.mix-still .global-text-unit{opacity:1!important;mask-image:none!important;translate:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce),print{.global-text-unit{opacity:1!important;mask-image:none!important;translate:none!important;transition:none!important}}
.international-network-visual.has-live-copy{position:relative;background:#0c1017;min-height:370px;isolation:isolate}
.has-live-copy>img{mask-image:linear-gradient(90deg,transparent 79%,#000 86%)}
.network-live-copy{position:absolute;z-index:2;top:13%;left:4.8%;width:72%;pointer-events:none}
.network-live-copy .network-live-kicker{font-size:clamp(10px,1.6vw,22px);letter-spacing:.22em;color:#d3b875;margin:0 0 22px}
.network-live-copy h2{font-size:clamp(24px,4.2vw,65px);line-height:1.12;letter-spacing:-.025em;font-weight:400;margin:0 0 25px;color:#fff;text-transform:none}
.network-live-copy .network-live-regions{font-size:clamp(9px,1.8vw,24px);letter-spacing:.08em;color:#d3b875;line-height:1.5;margin:0 0 10px}
.network-live-copy .network-live-note{font-size:clamp(11px,1.3vw,19px);color:#bfc0c3;line-height:1.5;margin:0}
@media(max-width:760px){.international-network-visual.has-live-copy{min-height:330px}.has-live-copy>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right}.network-live-copy{top:12%;left:6%;width:78%}.network-live-copy h2{font-size:clamp(24px,5.5vw,40px);margin-bottom:22px}.network-live-copy .network-live-kicker{margin-bottom:22px}.network-live-copy .network-live-regions{max-width:280px;font-size:10px}.network-live-copy .network-live-note{max-width:250px;font-size:11px}}
.international-network-visual.network-centered{min-height:clamp(480px,50vw,720px);display:grid;place-items:center;background:#090d13}
.network-centered>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;mask-image:none}
.network-centered .network-globe-window{mask-image:none}
.network-centered .network-globe-surface{object-fit:cover;transform-origin:50% 50%;animation-name:network-centered-drift;animation-duration:18s}
.network-centered:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#06090d18,#06090d66 48%,#06090d18)}
.network-centered .network-live-copy{position:relative;top:auto;left:auto;width:min(90%,1050px);padding:70px 20px;text-align:center;text-shadow:0 2px 22px #000d}
.network-centered .network-live-copy h2{font-size:clamp(32px,4.5vw,68px);letter-spacing:-.03em}
.network-centered .network-live-regions,.network-centered .network-live-note{max-width:none}
@keyframes network-centered-drift{0%,100%{transform:scale(1.02) rotate(-.6deg)}50%{transform:scale(1.075) rotate(1.2deg)}}
@media(max-width:760px){.international-network-visual.network-centered{min-height:480px}.network-centered .network-live-copy{width:94%;padding:54px 10px}.network-centered .network-live-copy h2{font-size:clamp(28px,7.2vw,42px)}.network-centered .network-live-note{font-size:12px}.network-centered .network-live-regions{font-size:10px}}

.network-centered{scroll-margin-top:105px}
.international-network-visual.network-abstract{position:relative;display:grid;place-items:center;min-height:clamp(500px,46vw,650px);background:#fff;border-color:#d9caa64d;scroll-margin-top:105px}
.network-abstract .network-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.network-connection{fill:none;stroke:url(#network-white-gold);stroke-width:1.1;opacity:.48}
.network-signal{fill:none;stroke:#b59149;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 900;animation:network-signal-travel 17s linear infinite;animation-delay:var(--signal-delay,0s);animation-play-state:paused;filter:drop-shadow(0 0 4px #b5914955)}
.network-abstract.network-globe-visible .network-signal{animation-play-state:running}
.network-abstract.motion-paused .network-signal,.page-quiet .network-signal{animation-play-state:paused!important}
@keyframes network-signal-travel{to{stroke-dashoffset:-1804}}
.network-abstract .network-live-copy{position:relative;top:auto;left:auto;width:min(92%,1100px);padding:90px 24px;text-align:center;text-shadow:none}
.network-abstract .network-live-copy h2{font-size:clamp(32px,4.5vw,66px);line-height:1.12;letter-spacing:-.035em;color:#17191c;margin-bottom:26px}
.network-abstract .network-live-kicker{color:#a17c30;font-size:clamp(10px,1.35vw,18px);letter-spacing:.23em;margin-bottom:24px}
.network-abstract .network-live-regions{max-width:none;color:#98732b;font-size:clamp(10px,1.4vw,19px);line-height:1.6;margin-bottom:14px}
.network-abstract .network-live-note{max-width:none;color:#676a70;font-size:clamp(12px,1.3vw,17px);line-height:1.6}
.network-abstract .network-globe-toggle{color:#8e6d2f;border-color:#c3a46570;background:#fff}
@media(max-width:760px){.international-network-visual.network-abstract{min-height:470px}.network-abstract .network-live-copy{width:96%;padding:78px 12px}.network-abstract .network-live-copy h2{font-size:clamp(27px,7vw,39px)}.network-abstract .network-live-regions{font-size:10px}.network-abstract .network-live-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){.network-signal{animation:none;display:none}}
.international-network-visual.network-watermark-layout{position:relative;display:flex;align-items:center;min-height:clamp(470px,45vw,650px);background:#fff;border-color:#d9caa64d;scroll-margin-top:105px}
.network-watermark-layout .network-live-copy{position:relative;top:auto;left:auto;width:77%;padding:78px 5.5%;text-align:left;text-shadow:none;margin-right:auto}
.network-watermark-layout .network-live-copy h2{font-size:clamp(32px,4.2vw,63px);line-height:1.12;letter-spacing:-.025em;color:#14171c;margin-bottom:25px}
.network-watermark-layout .network-live-kicker{color:#a17c30;font-size:clamp(10px,1.5vw,21px);letter-spacing:.23em;margin-bottom:24px}
.network-watermark-layout .network-live-regions{max-width:none;color:#98732b;font-size:clamp(10px,1.5vw,21px);line-height:1.6;margin-bottom:12px}
.network-watermark-layout .network-live-note{max-width:none;color:#62666d;font-size:clamp(12px,1.3vw,18px);line-height:1.6}
.network-watermark{position:absolute;right:1%;top:50%;width:clamp(430px,59vw,730px);height:auto;aspect-ratio:1;transform:translateY(-50%);opacity:.19;pointer-events:none;overflow:visible}
.network-watermark-drift{transform-box:view-box;transform-origin:50% 50%;animation:network-watermark-drift 22s ease-in-out infinite;animation-play-state:paused}
.network-globe-visible .network-watermark-drift{animation-play-state:running}
.network-watermark-layout.motion-paused .network-watermark-drift,.page-quiet .network-watermark-drift{animation-play-state:paused!important}
@keyframes network-watermark-drift{0%,100%{transform:rotate(-.7deg) scale(1)}50%{transform:rotate(1.1deg) scale(1.035)}}
.network-watermark-layout .network-globe-toggle{color:#8e6d2f;border-color:#c3a46570;background:#fff}
@media(max-width:760px){.international-network-visual.network-watermark-layout{min-height:450px}.network-watermark-layout .network-live-copy{width:100%;padding:66px 7%}.network-watermark-layout .network-live-copy h2{font-size:clamp(27px,7.3vw,40px)}.network-watermark-layout .network-live-regions{font-size:10px;max-width:290px}.network-watermark-layout .network-live-note{font-size:12px;max-width:285px}.network-watermark{right:-28%;width:460px;opacity:.14}}
@media(prefers-reduced-motion:reduce){.network-watermark-drift{animation:none!important;transform:none!important}}

/* Human support visual replaces the geographical illustration. */
.lusion-mix .world-band{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;padding-left:5%;padding-right:5%;background-image:none}
.lusion-mix .world-band>.container{width:100%;padding:0;grid-column:1;grid-row:1}
.lusion-mix .world-band .copy{max-width:none}
.agent-support-visual{grid-column:2;grid-row:1;margin:0;overflow:hidden;border-radius:20px;box-shadow:0 18px 45px #00000016}
.agent-support-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.network-watermark-layout .network-watermark{opacity:.32}
@media(max-width:900px){.lusion-mix .world-band{display:flex;gap:30px}.agent-support-visual{order:1;width:100%;max-width:620px}.network-watermark-layout .network-watermark{opacity:.25}}

/* Alternating expertise and player news panels. */
.news-list>.news-item{padding:24px;border-radius:14px;background:#fff;color:#0b0c0e}
.news-list>.news-item:nth-child(2){background:#090a0b;color:#fff;border-color:#383126}
.news-list>.news-item:nth-child(2) h2{color:#fff}
.news-list>.news-item:nth-child(2) .news-item-copy>p:not(.news-meta){color:#d0d1d4}
.news-list>.news-item:nth-child(2) .news-meta span,.news-list>.news-item:nth-child(2) .gold-link{color:#d7b66c}
@media(max-width:620px){.news-list>.news-item{padding:18px}}

.lusion-mix .world-band{background:#fff}

.network-watermark-layout .network-watermark{opacity:.48}
.network-watermark-drift{animation-duration:9s}
@keyframes network-watermark-drift{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
@media(max-width:760px){.network-watermark-layout .network-watermark{opacity:.36}}

.lusion-mix .services-office-hero .ref-hero-media:before{background:linear-gradient(180deg,rgba(7,8,9,.08) 0%,rgba(7,8,9,.12) 30%,rgba(7,8,9,.68) 47%,rgba(7,8,9,.5) 100%)}


.news-list>.news-item,.news-list>.news-item:nth-child(2){position:relative;isolation:isolate;overflow:hidden;background:#fff;color:#0b0c0e;border-color:#d7d9dc}
.news-list>.news-item:before{content:"";position:absolute;z-index:-1;inset:5% 0 5% 27%;background:url('assets/news-pitch-watermark.svg') right center/contain no-repeat;opacity:.1;pointer-events:none}
.news-list>.news-item:nth-child(2) h2{color:#0b0c0e}
.news-list>.news-item:nth-child(2) .news-item-copy>p:not(.news-meta){color:#474b52}
.news-list>.news-item:nth-child(2) .news-meta span,.news-list>.news-item:nth-child(2) .gold-link{color:#9b6a13}

.expertise-project-gold{color:var(--gold)}

.expertise-list .expertise-item p{color:#9b762d}

.lusion-mix .world-band h2{color:var(--gold)}
.network-watermark-layout .network-live-copy .network-live-kicker{font-weight:800}

.lusion-mix .world-band h2{color:#0b0c0e}.home-engagement-gold{color:var(--gold)}

.home-copy h1 .excellence-dot{color:#fff!important}
.world-band .copy>.gold-line{background:#0b0c0e}
.news-list>.news-item{border-bottom:3px solid #171819;border-radius:0}
.news-list>.news-item:before{inset:0 auto 0 0;width:36%;background-position:center;background-size:contain;opacity:.23}
.news-list>.news-item:nth-child(1):before{background-image:url('assets/news-watermark-ball.svg')}
.news-list>.news-item:nth-child(2):before{background-image:url('assets/news-watermark-gloves.svg')}
.news-list>.news-item:nth-child(3):before{background-image:url('assets/news-watermark-boot.svg')}
.news-list>.news-item>img{position:relative;z-index:1;width:86%;margin:0 auto;box-shadow:0 0 0 6px #ffffffb3}
@media(max-width:620px){.news-list>.news-item:before{width:100%;height:265px}.news-list>.news-item>img{width:85%}}

.news-list{position:relative;isolation:isolate}
.news-list:before{content:"";position:absolute;inset:3% 5%;z-index:-1;background:url('assets/news-central-crest.svg') center/contain no-repeat;opacity:.13;pointer-events:none}
.news-list>.news-item,.news-list>.news-item:nth-child(2){background:transparent;border-bottom:3px solid #171819}
.news-list>.news-item:before{display:none}
.news-list>.news-item>img{width:100%;box-shadow:none}
.news-list>.news-item:last-child{border-bottom:0}

/* Square framing, except the homepage player cards. */
.lusion-mix :is(section,article,figure,.ref-hero,.real-hero,.international-network-visual,.founder-portrait-frame,.ref-player-card,.ref-player-card img,.agent-support-visual,.service-tile,.news-item,.expertise-item,.founder-slide-card,.founder-slide-grid img){border-radius:0!important}
.lusion-mix:has(.home-player-scene) .players-showcase .ref-player-card{border-radius:18px!important;overflow:hidden}

.lusion-mix .founder-slide-card{border-radius:14px!important}
.lusion-mix .founder-portrait-frame{aspect-ratio:961/1636!important;border:0;border-radius:16px!important}
.lusion-mix .founder-portrait-frame img{object-fit:fill;transform:none;clip-path:none}
.lusion-mix .founder-portrait-abdoula img{transform:scale(1.025);transform-origin:center}

.news-list:before{background-image:url('assets/news-official-logo-watermark.svg');opacity:.17}

.news-list:before{background-image:url('assets/everestcorp-logo-original-transparent.webp');opacity:.11}
.network-watermark-layout .network-live-copy .network-live-kicker{font-size:clamp(18px,2vw,28px);font-weight:800}

.natural-motion .specialists-interaction .ref-hero-media{transform:none!important;transition:none!important}

/* Globe de la section Nos talents : déplacement continu et doux. */
.agent-support-visual.support-globe-visual{aspect-ratio:1;max-width:520px;display:grid;place-items:center;box-shadow:none;background:#fff;overflow:hidden}
.support-globe-visual svg{display:block;width:92%;height:auto;aspect-ratio:1;max-height:none;overflow:visible;opacity:.8}
.support-globe-float{transform-origin:470px 470px;animation:support-globe-float 18s ease-in-out infinite}
@keyframes support-globe-float{0%,100%{transform:translate(-14px,12px) rotate(-1deg)}35%{transform:translate(16px,-14px) rotate(1deg)}70%{transform:translate(10px,9px) rotate(.3deg)}}
.page-quiet .support-globe-float,.motion-paused .support-globe-float{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.support-globe-float{animation:none!important;transform:none!important}}

/* Mouvement lisible du globe, silhouettes et tribunes gardées fixes. */

/* Carte dessinée d'origine replacée dans Réseau international. */
.network-drawn-map{position:absolute;right:1%;top:50%;width:clamp(420px,62vw,790px);height:auto;transform:translateY(-50%);opacity:.58;pointer-events:none;overflow:visible}
.network-map-float{transform-origin:260px 125px;animation:network-map-float 18s ease-in-out infinite;animation-play-state:paused}
.network-globe-visible .network-map-float{animation-play-state:running}
@keyframes network-map-float{0%,100%{transform:translate(-7px,5px) rotate(-.5deg)}50%{transform:translate(8px,-6px) rotate(.6deg)}}
.network-map-layout.motion-paused .network-map-float,.page-quiet .network-map-float,.mix-still .network-map-float{animation-play-state:paused!important}
@media(max-width:760px){.network-drawn-map{right:-26%;width:570px;opacity:.3}}
@media(prefers-reduced-motion:reduce){.network-map-float{animation:none!important;transform:none!important}}

/* Joueurs : ballon, souffle léger dans le gazon et éclairages graduels. */
.player-atmosphere{opacity:0;transition:opacity 2.4s ease}
.players-interaction[data-scene-step="3"] .player-atmosphere{opacity:1}
.player-ball-sway{transform-origin:1240px 730px;animation:player-ball-sway 11s ease-in-out infinite;animation-play-state:paused}
@keyframes player-ball-sway{0%,100%{transform:rotate(-1.1deg)}50%{transform:rotate(1.2deg)}}
.player-grass-wind{transform-origin:50% 100%;animation:player-grass-sway 8s ease-in-out infinite;animation-play-state:paused}
@keyframes player-grass-sway{0%,100%{transform:translateX(-1px) skewX(-.15deg)}50%{transform:translateX(1.5px) skewX(.22deg)}}
.player-light-breath{opacity:.1;animation:player-light-breath 8.5s ease-in-out infinite;animation-play-state:paused}
.player-light-secondary{animation-duration:12s;animation-delay:-4s}
@keyframes player-light-breath{0%,100%{opacity:.06}48%{opacity:.34}72%{opacity:.18}}
.players-atmosphere-active :is(.player-ball-sway,.player-grass-wind,.player-light-breath){animation-play-state:running}
.mix-still :is(.player-grass-wind,.player-light-breath){display:none}
@media(prefers-reduced-motion:reduce){.player-ball-sway{animation:none!important;transform:none!important}.player-atmosphere{display:none}}

/* Mouvement pondéré et irrégulier, éclairages indépendants. */
.player-ball-sway{animation-duration:24.7s;animation-timing-function:cubic-bezier(.42,0,.58,1)}
@keyframes player-ball-sway{0%,100%{transform:rotate(0deg)}17%{transform:rotate(-.26deg)}39%{transform:rotate(.08deg)}64%{transform:rotate(.34deg)}83%{transform:rotate(-.1deg)}}
.player-grass-wind{animation-duration:11.3s}
@keyframes player-grass-sway{0%,100%{transform:translateX(-.8px) skewX(-.12deg)}31%{transform:translateX(2.1px) skewX(.32deg)}67%{transform:translateX(.3px) skewX(.06deg)}}
.player-light-bank{opacity:.05;animation:player-light-bank var(--bank-duration,15s) ease-in-out var(--bank-delay,0s) infinite;animation-play-state:paused}
@keyframes player-light-bank{0%,100%{opacity:.04}21%{opacity:.1}43%{opacity:.68}68%{opacity:.3}86%{opacity:.03}}
.players-atmosphere-active .player-light-bank{animation-play-state:running}
.mix-still .player-light-bank{display:none}

/* Même taille et même doré que Notre engagement. */
.network-watermark-layout .network-live-copy .network-live-kicker{font-size:39px;color:var(--gold);letter-spacing:-.05em;font-weight:700;line-height:1.2}
@media(max-width:620px){.network-watermark-layout .network-live-copy .network-live-kicker{font-size:31px}}

/* Retour au fondu photographique continu de Joueurs. */
.natural-motion .player-ball{transition:opacity 2.8s cubic-bezier(.22,.61,.36,1);transform:none!important}
.player-atmosphere{transition:opacity 2.8s ease 2s}
/* Spécialistes : doré moins jaune, éclairage plus neutre. */
.natural-motion .specialists-interaction .ref-hero-media{filter:saturate(.64) contrast(1.04)}

/* Même fondu d'ensemble que l'Agence, sans étapes séparées. */
.natural-motion .players-interaction :is(.player-mountain,.player-stadium){display:none!important}
.natural-motion .player-ball{transition:opacity 2.85s cubic-bezier(.2,.35,.45,1);transform:none!important}
.natural-motion .specialists-interaction .ref-hero-media{filter:none}
.natural-motion .specialists-interaction .layered-visual{opacity:0;transition:opacity 2.85s cubic-bezier(.2,.35,.45,1)}
.natural-motion .specialists-interaction.all-revealed .layered-visual{opacity:1}
.natural-motion .specialists-interaction :is(.specialist-layer,.specialist-complete){opacity:1!important;transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.natural-motion .specialists-interaction .layered-visual{opacity:1;transition:none}.natural-motion .player-ball{transition:none}}

/* Joueurs utilise exactement le moteur d'apparition de Services. */
.natural-motion .players-interaction .player-ball{display:none!important}
.natural-motion .players-interaction .natural-image-scene{z-index:0}
.natural-motion .players-interaction .layered-visual{display:block!important;z-index:1;pointer-events:none}

/* Personnes détourées : pas de masque sombre au-dessus des têtes. */
.natural-motion .specialists-interaction .layered-visual{display:block!important;opacity:1!important;transition:none!important}
.natural-motion .specialists-interaction .specialist-layer{opacity:0!important;transition:opacity var(--person-duration,2000ms) cubic-bezier(.2,.35,.45,1)!important;transform:none!important}
.natural-motion .specialists-interaction .specialist-layer.is-visible{opacity:1!important}
.specialists-interaction.natural-load-failed .layered-visual{display:none!important}
.specialists-interaction.natural-load-failed .static-scene-fallback{display:block!important;visibility:visible!important}
@media(prefers-reduced-motion:reduce){.natural-motion .specialists-interaction .specialist-layer{opacity:1!important;transition:none!important}}

/* Mots réellement animés dans l'écran du bureau Services. */
.natural-js .services-screen-item{opacity:0;mask-image:linear-gradient(90deg,#000 40%,transparent 65%);mask-size:250% 100%;mask-position:100% 0;transition:opacity 1.9s cubic-bezier(.22,.61,.36,1) var(--screen-delay,0ms),mask-position 2.1s cubic-bezier(.22,.61,.36,1) var(--screen-delay,0ms)}
.services-screen-start .services-screen-item{opacity:1;mask-position:0 0}
.natural-js .services-screen-power{opacity:0;transition:opacity 1.45s cubic-bezier(.22,.61,.36,1)}
.services-screen-start .services-screen-power{opacity:1}
.mix-still .services-screen-power{opacity:1!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.natural-js .services-screen-power{opacity:1!important;transition:none!important}}
.mix-still .services-screen-item{opacity:1!important;mask-image:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.natural-js .services-screen-item{opacity:1!important;mask-image:none!important;transition:none!important}}

/* Argent plus sombre, frontières lumineuses et mouvement continu. */

/* Panorama fourni par l’utilisateur, filigrane central d’Actualités. */
.news-list:before{inset:0; background-image:url('assets/news-mountain-shared-v1-web.webp');background-position:center;background-size:cover;opacity:.48;mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%)}
@media(max-width:620px){.news-list:before{opacity:.36}}

/* Séparations d’Actualités plus discrètes et légèrement raccourcies. */
.news-list>.news-item,.news-list>.news-item:nth-child(2){border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent 5%,#aaa 5%,#aaa 95%,transparent 95%) 1}
.news-list>.news-item:last-child{border-bottom:0}
#actualites-joueurs{scroll-margin-top:125px}

/* Garder le visage de Mamadou entier dans sa carte sur l’accueil. */
.feature-card[href="players/mamadou-camara.html"] img{object-position:center top}

.founder-biography{padding:20px 4px 8px;color:#222}.founder-biography h3{font-size:22px;margin:0 0 8px}.founder-biography p{font-size:15px;line-height:1.75;margin:0 0 12px}.founder-biography .founder-biography-role{color:#9b762d;font-size:13px;font-weight:600}#fondateurs{scroll-margin-top:125px}

.home-player-scene .home-floodlights{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.home-light-bank{--light-time:13.7s;--light-offset:-2s}.home-light-bank.bank-1{--light-time:17.3s;--light-offset:-8s}.home-light-bank.bank-2{--light-time:15.1s;--light-offset:-5s}.home-light-bank.bank-3{--light-time:19.7s;--light-offset:-11s}
.home-light-bank .light-dim{animation:home-projector-dim var(--light-time) ease-in-out var(--light-offset) infinite}
.home-light-bank .light-bloom{animation:home-projector-bloom var(--light-time) ease-in-out var(--light-offset) infinite}
@keyframes home-projector-dim{0%,100%{opacity:.05}24%{opacity:.12}48%{opacity:.85}66%{opacity:.65}85%{opacity:.1}}
@keyframes home-projector-bloom{0%,100%{opacity:.55}24%{opacity:.4}48%,66%{opacity:0}85%{opacity:.42}}
.mix-still .home-light-bank :is(.light-dim,.light-bloom){animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.home-light-bank :is(.light-dim,.light-bloom){animation:none;opacity:0}}

/* Légère accélération des projecteurs et souffle local sur le tissu. */
.home-light-bank{--light-time:11.6s}.home-light-bank.bank-1{--light-time:14.7s}.home-light-bank.bank-2{--light-time:12.8s}.home-light-bank.bank-3{--light-time:16.7s}
.home-player-scene .home-shirt-wind{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;transition:opacity 2s ease}
.home-player-scene.home-player-visible .home-shirt-wind{opacity:1}
@media(prefers-reduced-motion:reduce){.home-player-scene .home-shirt-wind{display:none}}

/* Vent de travers dans la pelouse et éclairage de stade progressif. */
.player-grass-wind{animation:player-pitch-breeze 7.4s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused;transform-origin:50% 100%}
@keyframes player-pitch-breeze{0%,100%{transform:translateX(-3px) skewX(-.2deg)}28%{transform:translateX(4.5px) skewX(.4deg)}63%{transform:translateX(-1px) skewX(-.1deg)}82%{transform:translateX(2px) skewX(.18deg)}}
.players-atmosphere-active .player-grass-wind{animation-play-state:running}
.player-light-bank{animation-duration:calc(var(--bank-duration,15s) * .84)}
@keyframes player-light-bank{0%,100%{opacity:.02}21%{opacity:.16}43%{opacity:.9}68%{opacity:.48}86%{opacity:.04}}
.network-map-float{animation-duration:12s}
@media(prefers-reduced-motion:reduce){.player-grass-wind,.player-light-bank{animation:none!important;display:none!important}}

.agency-interaction .agency-video-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;transition:opacity 1.8s ease}.agency-interaction.video-ready .agency-video-overlay{opacity:1}.agency-training-video{filter:brightness(.78) saturate(.8)}

.news-camera-flash{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.news-flash-pulse{opacity:0;animation:news-camera-soft-flash 5s linear infinite;animation-play-state:paused}.news-flash-active .news-flash-pulse{animation-play-state:running}
@keyframes news-camera-soft-flash{0%,31%,47%,100%{opacity:0}35.3%{opacity:.75}38.2%{opacity:.35}45.4%{opacity:0}}
.mix-still .news-flash-pulse{animation-play-state:paused;opacity:0}
@media(prefers-reduced-motion:reduce){.news-camera-flash{display:none}}

.players-interaction .player-sunlight{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.player-sun-radiance{opacity:.1;animation:player-sunset-rise 8.5s ease-in-out infinite;animation-play-state:paused;mix-blend-mode:screen}
.player-sun-shade{opacity:.15;animation:player-sunset-dim 8.5s ease-in-out infinite;animation-play-state:paused}
.players-atmosphere-active :is(.player-sun-radiance,.player-sun-shade){animation-play-state:running}
@keyframes player-sunset-rise{0%,100%{opacity:.08}48%{opacity:.62}73%{opacity:.3}}
@keyframes player-sunset-dim{0%,100%{opacity:.65}48%{opacity:.02}73%{opacity:.22}}
.mix-still :is(.player-sun-radiance,.player-sun-shade){animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.player-sunlight{display:none!important}}

/* Silhouettes : révélation plus lente avec le même bord dégradé que les textes. */
.natural-motion .specialists-interaction .specialist-layer{mask-image:linear-gradient(90deg,#000 0%,#000 44%,transparent 58%,transparent 100%);mask-size:250% 100%;mask-position:100% 0;mask-repeat:no-repeat;transition:opacity var(--person-duration,3200ms) cubic-bezier(.22,.61,.36,1),mask-position var(--person-duration,3200ms) cubic-bezier(.22,.61,.36,1)!important}
.natural-motion .specialists-interaction .specialist-layer.is-visible{mask-position:0 0}
@media(prefers-reduced-motion:reduce){.natural-motion .specialists-interaction .specialist-layer{mask-image:none!important;transition:none!important}}
.mix-still .specialists-interaction .specialist-layer{mask-image:none!important;opacity:1!important}


/* Essai de profondeur : avance, recul et balancement du globe. */

.specialist-sphere-holder{opacity:0;transition:opacity 1.8s ease}.sphere-ready .specialist-sphere-holder{opacity:1}

.specialists-interaction[data-static-globe] .network-globe-toggle{display:none}


/* Stronger map ink and gold, preserving the existing motion and layout. */
.network-drawn-map{opacity:.84}
@media(max-width:760px){.network-drawn-map{opacity:.44}}
/* Small screens: readable copy followed by the complete scene, rather than a narrow crop. */
@media(max-width:900px){
 .natural-motion :is(.agency-interaction,.services-office-hero,.specialists-interaction,[data-natural-scene="news"]){display:flex;flex-direction:column;min-height:0;height:auto}
 .natural-motion :is(.agency-interaction,.services-office-hero,.specialists-interaction,[data-natural-scene="news"])>.container{order:0;min-height:0;padding:24px 24px 12px;align-items:flex-start}
 .natural-motion :is(.agency-interaction,.services-office-hero,.specialists-interaction,[data-natural-scene="news"]) .ref-hero-copy{padding:12px 0 20px;width:100%;max-width:none}
 .natural-motion :is(.agency-interaction,.services-office-hero,.specialists-interaction,[data-natural-scene="news"]) .ref-hero-media{position:relative;order:1;inset:auto;width:100%;height:auto;aspect-ratio:1672/941;flex:none;transform:none!important}
 .natural-motion .agency-interaction .ref-hero-media{aspect-ratio:1712/919}
 .natural-motion .specialists-interaction .ref-hero-media{aspect-ratio:1461/1077}
 .natural-motion :is(.agency-interaction,.services-office-hero,.specialists-interaction,[data-natural-scene="news"]) .ref-hero-media:before{background:linear-gradient(180deg,#070809 0%,#07080900 18%);pointer-events:none}
 .natural-motion .specialists-interaction .ref-hero-media>svg{height:100%;width:100%}
 .natural-motion .home-player-scene{display:flex;flex-direction:column;min-height:0;height:auto}
 .natural-motion .home-player-scene>.home-hero-content{order:0;min-height:0;padding:26px 24px 16px}
 .natural-motion .home-player-scene .home-copy{padding:12px 0 20px}
 .natural-motion .home-player-scene .hero-visual{position:relative;order:1;inset:auto;aspect-ratio:530/394;height:auto;width:100%;flex:none}
 .natural-motion .home-player-scene .hero-visual:before{background:linear-gradient(180deg,#070809 0%,#07080900 18%)}
}
/* English profiles use the translated live information instead of French-only poster artwork. */
html[lang="en"] .player-detail-page .player-profile-poster{display:none}
.stat b>[data-fr],.stat strong>[data-fr]{font:inherit;color:inherit;text-transform:inherit}

/* Soft sunset breathing, confined to the window and its reflection. */
.services-sunset-glow{mix-blend-mode:screen;opacity:.12;animation:services-sunset-warmth 9s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.services-sunset-shade{opacity:.55;animation:services-sunset-soften 9s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.services-screen-start :is(.services-sunset-glow,.services-sunset-shade){animation-play-state:running}
@keyframes services-sunset-warmth{0%,100%{opacity:.1}48%{opacity:.7}72%{opacity:.4}}
@keyframes services-sunset-soften{0%,100%{opacity:.7}48%{opacity:.04}72%{opacity:.26}}
.mix-still :is(.services-sunset-glow,.services-sunset-shade){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.services-sunset-glow,.services-sunset-shade{animation:none!important;opacity:.12}}

/* Let the Services screen read as active while the copy stays over the dark wall. */
.lusion-mix .services-office-hero .ref-hero-media:before{background:linear-gradient(90deg,rgba(7,8,9,.48) 0%,rgba(7,8,9,.26) 39%,rgba(7,8,9,.08) 64%,rgba(7,8,9,0) 100%)}
