/* Chargeur autonome : chargé séparément pour éviter tout mélange de cache. */
.tf-loader{--tf-loader-ready:1;position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#fff;color:#111318;opacity:1;visibility:visible;transition:opacity .48s ease,visibility 0s linear .48s;isolation:isolate}
.tf-loader[hidden]{display:none!important}
.tf-loader:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(255,230,0,.14),transparent 42%);pointer-events:none}
html.tf-loader-active{overflow:hidden}
.tf-loader.is-leaving{opacity:0;visibility:hidden}
.tf-loader-stage{position:relative;display:grid;place-items:center;gap:10px;width:min(82vw,520px);transform-origin:50% 48%;animation:tf-loader-pulse .46s 3s cubic-bezier(.2,.8,.2,1) both}
.tf-loader-pictogram{position:relative;width:100%;aspect-ratio:720/680;isolation:isolate;filter:drop-shadow(0 10px 20px rgba(17,19,24,.11))}
.tf-loader-pictogram>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none;opacity:1;z-index:1}
.tf-picto-empty{position:absolute;z-index:2;background:#fff}.tf-picto-empty-a{left:44.72%;top:53.97%;width:21.39%;height:15%}.tf-picto-empty-b{left:71.94%;top:53.97%;width:22.92%;height:15%;box-shadow:inset -4px 0 0 #111318}.tf-picto-empty-c{left:44.72%;top:72.79%;width:21.39%;height:15%}.tf-picto-empty-d{left:71.94%;top:72.79%;width:22.92%;height:15%;box-shadow:inset -4px 0 0 #111318}
.tf-picto-panel-fill{position:absolute;z-index:3;overflow:hidden;-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0);animation:tf-panel-liquid-fill 3s cubic-bezier(.38,0,.18,1) both;will-change:clip-path}.tf-picto-panel-fill-a{left:44.72%;top:53.97%;width:21.39%;height:15%}.tf-picto-panel-fill-b{left:71.94%;top:53.97%;width:22.92%;height:15%}.tf-picto-panel-fill-c{left:44.72%;top:72.79%;width:21.39%;height:15%}.tf-picto-panel-fill-d{left:71.94%;top:72.79%;width:22.92%;height:15%}
.tf-picto-panel-fill img{position:absolute;max-width:none;width:467.5%;height:666.67%;object-fit:fill}.tf-picto-panel-fill-b img,.tf-picto-panel-fill-d img{width:436.36%}.tf-picto-panel-fill-a img,.tf-picto-panel-fill-c img{left:-209.1%}.tf-picto-panel-fill-b img,.tf-picto-panel-fill-d img{left:-313.9%}.tf-picto-panel-fill-a img,.tf-picto-panel-fill-b img{top:-359.8%}.tf-picto-panel-fill-c img,.tf-picto-panel-fill-d img{top:-485.3%}
.tf-picto-right-wall{position:absolute;z-index:5;left:95.15%;top:51.6%;width:.72%;height:37.5%;background:#111318;border-radius:0 2px 2px 0}
.tf-loader-hose-flow{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible}
.tf-loader-hose-flow .cycle-hose-stream,.tf-loader-hose-flow .cycle-hose-pulse{fill:none;stroke-linecap:round;stroke-linejoin:round}
.tf-loader-hose-flow .cycle-hose-stream{stroke:rgba(255,205,24,.72);stroke-width:5.2}
.tf-loader-hose-flow .cycle-hose-pulse{stroke:rgba(255,235,105,.74);stroke-width:3.2;stroke-dasharray:10 21;animation:tf-hose-current 1.55s linear infinite}
.tf-loader-hose-flow .cycle-hose-bubbles circle{fill:rgba(255,255,255,.94);stroke:rgba(255,255,255,.48);stroke-width:.8}
.tf-loader-meter{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:1px 0 0;font:700 18px/1 Arial,Helvetica,sans-serif;letter-spacing:.045em;font-variant-numeric:tabular-nums}.tf-loader-meter strong{min-width:68px}.tf-loader-meter strong:first-child{text-align:right;color:#e4bb00}.tf-loader-meter strong:last-child{text-align:left}.tf-loader-meter span{color:#6f7579}
.tf-loader-brand{width:100%;margin:5px 0 0;text-align:center;font:950 25px/1 Arial,Helvetica,sans-serif;letter-spacing:.18em}.tf-loader-brand strong{color:#e4bb00}
.tf-loader-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes tf-panel-liquid-fill{from{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}
@keyframes tf-loader-pulse{0%{transform:scale(1)}55%{transform:scale(1.055)}100%{transform:scale(1)}}
@keyframes tf-hose-current{to{stroke-dashoffset:-31}}
@media(max-width:600px){.tf-loader-stage{width:min(92vw,390px)}.tf-loader-meter{font-size:16px}.tf-loader-brand{font-size:20px}}
@media(prefers-reduced-motion:reduce){.tf-picto-panel-fill{animation-duration:3s!important}.tf-loader-stage{animation:none}.tf-loader-hose-flow .cycle-hose-pulse{animation:none}.tf-loader{transition-duration:.2s}}
