/* Loader UCIV : écran d'attente (logo animé, puis deux rideaux). Autonome : aucune police ni image à charger.
   Couleurs : --ul-bg (fond crème) et --ul-accent (rideau orange) sur .uciv-loader. Respecte prefers-reduced-motion. */
html.uciv-loading{overflow:hidden}.uciv-loader{--ul-bg:#fffaf3;--ul-accent:#da8121;position:fixed;inset:0;z-index:9999;pointer-events:auto;animation:ul-failsafe .5s 12s forwards}.uciv-loader.is-js{animation:none}.uciv-loader__accent,.uciv-loader__panel{position:absolute;inset:0;will-change:transform}.uciv-loader__accent{background:var(--ul-accent)}.uciv-loader__panel{background:var(--ul-bg);display:flex;align-items:center;justify-content:center}.uciv-loader__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(18px,4vh,30px)}.uciv-loader__logo{display:block;width:min(170px,44vw);height:auto;overflow:visible}.uciv-loader__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:where(.uciv-loader svg *){transform-box:view-box;transform-origin:0 0}.ul-b0{transform:translate(216.1px,202.8px) rotate(-116.68deg) translate(82.79px,0) rotate(356.74deg) scale(1);animation:ul-in-b0 1.1s cubic-bezier(.2,.9,.3,1) 0s backwards,ul-r-b0 6s cubic-bezier(.65,0,.35,1) 2.1s infinite}@keyframes ul-in-b0{0%{transform:translate(216.1px,202.8px) rotate(-236.68deg) translate(0px,0) rotate(406.74deg) scale(0.25);opacity:0}30%{opacity:1}100%{transform:translate(216.1px,202.8px) rotate(-116.68deg) translate(82.79px,0) rotate(356.74deg) scale(1)}}@keyframes ul-r-b0{0.00%{transform:translate(216.1px,202.8px) rotate(-116.68deg) translate(82.79px,0) rotate(356.74deg) scale(1)}17.50%,33.33%{transform:translate(216.1px,202.8px) rotate(-1.5deg) translate(107.8px,0) rotate(361.5deg) scale(1)}50.83%,66.67%{transform:translate(216.1px,202.8px) rotate(132.63deg) translate(104.11px,0) rotate(347.45deg) scale(1)}84.17%,100%{transform:translate(216.1px,202.8px) rotate(243.32deg) translate(82.79px,0) rotate(356.74deg) scale(1)}}.ul-b1{transform:translate(216.1px,202.8px) rotate(-1.5deg) translate(107.8px,0) rotate(1.5deg) scale(1);animation:ul-in-b1 1.1s cubic-bezier(.2,.9,.3,1) 0.1s backwards,ul-r-b1 6s cubic-bezier(.65,0,.35,1) 2.1s infinite}@keyframes ul-in-b1{0%{transform:translate(216.1px,202.8px) rotate(-121.5deg) translate(0px,0) rotate(51.5deg) scale(0.25);opacity:0}30%{opacity:1}100%{transform:translate(216.1px,202.8px) rotate(-1.5deg) translate(107.8px,0) rotate(1.5deg) scale(1)}}@keyframes ul-r-b1{0.00%{transform:translate(216.1px,202.8px) rotate(-1.5deg) translate(107.8px,0) rotate(1.5deg) scale(1)}17.50%,33.33%{transform:translate(216.1px,202.8px) rotate(132.63deg) translate(104.11px,0) rotate(-12.55deg) scale(1)}50.83%,66.67%{transform:translate(216.1px,202.8px) rotate(243.32deg) translate(82.79px,0) rotate(-3.26deg) scale(1)}84.17%,100%{transform:translate(216.1px,202.8px) rotate(358.5deg) translate(107.8px,0) rotate(1.5deg) scale(1)}}.ul-b2{transform:translate(216.1px,202.8px) rotate(132.63deg) translate(104.11px,0) rotate(-12.55deg) scale(1);animation:ul-in-b2 1.1s cubic-bezier(.2,.9,.3,1) 0.2s backwards,ul-r-b2 6s cubic-bezier(.65,0,.35,1) 2.1s infinite}@keyframes ul-in-b2{0%{transform:translate(216.1px,202.8px) rotate(12.63deg) translate(0px,0) rotate(37.45deg) scale(0.25);opacity:0}30%{opacity:1}100%{transform:translate(216.1px,202.8px) rotate(132.63deg) translate(104.11px,0) rotate(-12.55deg) scale(1)}}@keyframes ul-r-b2{0.00%{transform:translate(216.1px,202.8px) rotate(132.63deg) translate(104.11px,0) rotate(-12.55deg) scale(1)}17.50%,33.33%{transform:translate(216.1px,202.8px) rotate(243.32deg) translate(82.79px,0) rotate(-3.26deg) scale(1)}50.83%,66.67%{transform:translate(216.1px,202.8px) rotate(358.5deg) translate(107.8px,0) rotate(1.5deg) scale(1)}84.17%,100%{transform:translate(216.1px,202.8px) rotate(492.63deg) translate(104.11px,0) rotate(-12.55deg) scale(1)}}.ul-hp0{transform:translate(67.65px,70.43px);animation:ul-r-hp0 6s cubic-bezier(.65,0,.35,1) 2.1s infinite}@keyframes ul-r-hp0{0.00%{transform:translate(67.65px,70.43px)}17.50%,33.33%{transform:translate(56.08px,64.39px)}50.83%,66.67%{transform:translate(56.11px,64.34px)}84.17%,100%{transform:translate(67.65px,70.43px)}}.ul-hp1{transform:translate(56.08px,64.39px);animation:ul-r-hp1 6s cubic-bezier(.65,0,.35,1) 2.1s infinite}@keyframes ul-r-hp1{0.00%{transform:translate(56.08px,64.39px)}17.50%,33.33%{transform:translate(56.11px,64.34px)}50.83%,66.67%{transform:translate(67.65px,70.43px)}84.17%,100%{transform:translate(56.08px,64.39px)}}.ul-hp2{transform:translate(56.11px,64.34px);animation:ul-r-hp2 6s cubic-bezier(.65,0,.35,1) 2.1s infinite}@keyframes ul-r-hp2{0.00%{transform:translate(56.11px,64.34px)}17.50%,33.33%{transform:translate(67.65px,70.43px)}50.83%,66.67%{transform:translate(56.08px,64.39px)}84.17%,100%{transform:translate(56.11px,64.34px)}}.ul-band{animation:ul-fade-in .45s calc(.78s + var(--k) * .1s) backwards}.ul-hin{animation:ul-pop .7s cubic-bezier(.3,.7,.4,1) calc(.4s + var(--k) * .1s) backwards}@keyframes ul-pop{0%{transform:translate(19.7px,22.62px) scale(0)}60%{transform:translate(-1.31px,-1.51px) scale(1.14)}100%{transform:none}}.uciv-loader .ul-ring{transform-origin:216.1px 202.8px;animation:ul-ring 2s cubic-bezier(.45,0,.55,1) 2.1s infinite}@keyframes ul-ring{0%{transform:none}26.25%{transform:scale(.84)}52.50%,100%{transform:none}}.ul-hop{animation:ul-hop 2s cubic-bezier(.45,0,.55,1) 2.1s infinite}.ul-sqz{animation:ul-sqz 2s cubic-bezier(.45,0,.55,1) 2.1s infinite}@keyframes ul-hop{0%{transform:none}26.25%{transform:translate(3.94px,4.52px) scale(1.07)}52.50%,100%{transform:none}}@keyframes ul-sqz{0%{transform:none}26.25%{transform:scale(.93)}52.50%,100%{transform:none}}.ul-ink{fill:none;stroke:#ea9642;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len);stroke-dashoffset:0;opacity:0;animation:ul-ink .62s cubic-bezier(.5,0,.3,1) calc(.72s + var(--i) * .07s) backwards,ul-ink-loop 2s linear 2.1s infinite}.ul-fill{fill:#ea9642;animation:ul-fill .62s linear calc(.72s + var(--i) * .07s) backwards,ul-fill-loop 2s linear 2.1s infinite}@keyframes ul-ink{0%{stroke-dashoffset:var(--len);opacity:1}75%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes ul-fill{0%,62%{opacity:0}100%{opacity:1}}@keyframes ul-ink-loop{0%,53.50%{stroke-dashoffset:var(--len);opacity:0}54.00%{stroke-dashoffset:var(--len);opacity:1}75.00%{stroke-dashoffset:0;opacity:1}82.50%,100%{stroke-dashoffset:0;opacity:0}}@keyframes ul-fill-loop{0%{opacity:1}9.00%,71.50%{opacity:0}80.00%,100%{opacity:1}}@keyframes ul-fade-in{to{opacity:1}}@keyframes ul-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}.uciv-loader.is-leaving{pointer-events:none}.uciv-loader.is-leaving .uciv-loader__logo *{animation-play-state:paused!important}.uciv-loader.is-leaving .uciv-loader__inner{animation:ul-out .45s cubic-bezier(.5,0,.75,0) forwards}.uciv-loader.is-leaving .uciv-loader__panel{animation:ul-curtain .85s cubic-bezier(.77,0,.18,1) .3s forwards}.uciv-loader.is-leaving .uciv-loader__accent{animation:ul-curtain .85s cubic-bezier(.77,0,.18,1) .42s forwards}@keyframes ul-out{to{opacity:0;transform:translateY(-16px) scale(.96)}}@keyframes ul-curtain{to{transform:translateY(-101%)}}@media (prefers-reduced-motion:reduce){.uciv-loader *{animation:none!important}.uciv-loader__accent{display:none}.uciv-loader.is-js.is-leaving{animation:ul-failsafe .35s forwards}}

/* Les animations d'entrée de la page attendent la fin du loader (html.uciv-loading) pour être vues. */
html.uciv-loading :is(.hero__entree, .hero__photo, .hero__disque, .hero__signature) { animation-play-state: paused; }

/* Loader UCIV Leadership : le logo du réseau s'assemble (voir includes/_loader_leadership.html et js/loader-leadership.js).
   Même sortie que le loader du site, sans le rideau orange : le logo s'élève en s'effaçant, puis le panneau monte et découvre directement le jaune
   du bandeau (règles .uciv-loader.is-leaving ci-dessus). Panneau blanc sur ordinateur (même en thème sombre), vert profond du site sur mobile
   (< 720 px) ; le logo est un peu plus petit sur ordinateur. */
.uciv-loader--leadership .uciv-loader__panel{background:#fff}
.uciv-loader--leadership .ull{position:relative;width:min(92vw,900px);aspect-ratio:2576/985;overflow:visible}
.uciv-loader--leadership .ull__piece{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
@media (min-width:720px){.uciv-loader--leadership .ull{width:min(72vw,680px)}}
@media (max-width:719px){.uciv-loader--leadership .uciv-loader__panel{background:#0c3322}}
