/* Tailor Tech — loader clair (vitre dépolie posée sur le site) */
#tt-loader{
  position:fixed;inset:0;z-index:9999;
  display:grid;place-items:center;
  background:
    linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.04)),
    linear-gradient(165deg,#f7f4fb 0%,#efeaf7 48%,#f6f1f4 100%);
  -webkit-backdrop-filter:blur(30px) saturate(1.5);
  backdrop-filter:blur(30px) saturate(1.5);
  transition:opacity .95s cubic-bezier(.4,0,.2,1) .1s;
}
#tt-loader.is-leaving{opacity:0;pointer-events:none}
#tt-loader.is-done{display:none}
html.tt-loader-seen #tt-loader{display:none!important}
html.tt-loading,html.tt-loading body{overflow:hidden}

#tt-loader .tt-aurore{position:absolute;inset:0;overflow:hidden;pointer-events:none}
#tt-loader .tt-orb{position:absolute;border-radius:50%;filter:blur(58px);will-change:transform}
#tt-loader .tt-o1{width:44vw;height:44vw;left:16%;top:6%;
  background:radial-gradient(circle,rgba(97,65,165,.62),rgba(97,65,165,0) 68%);
  animation:tt-drift1 26s ease-in-out infinite alternate}
#tt-loader .tt-o2{width:36vw;height:36vw;left:47%;top:34%;
  background:radial-gradient(circle,rgba(217,132,63,.58),rgba(217,132,63,0) 68%);
  animation:tt-drift2 21s ease-in-out infinite alternate}
#tt-loader .tt-o3{width:52vw;height:52vw;left:-6%;top:52%;
  background:radial-gradient(circle,rgba(64,38,120,.5),rgba(64,38,120,0) 70%);
  animation:tt-drift3 31s ease-in-out infinite alternate}
@keyframes tt-drift1{to{transform:translate(14%,18%) scale(1.15)}}
@keyframes tt-drift2{to{transform:translate(-18%,-12%) scale(1.2)}}
@keyframes tt-drift3{to{transform:translate(20%,-14%) scale(1.1)}}

#tt-loader .tt-card{
  position:relative;
  padding:clamp(34px,5vw,62px) clamp(38px,6vw,74px);
  border-radius:28px;
  background:linear-gradient(140deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.10) 52%, rgba(255,255,255,.22) 100%);
  border:1px solid rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(16px) saturate(1.9) brightness(1.06);
  backdrop-filter:blur(16px) saturate(1.9) brightness(1.06);
  box-shadow:
    0 44px 100px -40px rgba(38,18,72,.5),
    0 2px 8px rgba(38,18,72,.05),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -1px 0 rgba(255,255,255,.35);
  overflow:hidden;
  animation:tt-card-in 1s cubic-bezier(.16,1,.3,1) both;
}
@keyframes tt-card-in{
  from{opacity:0;transform:translateY(16px) scale(.965);filter:blur(6px)}
  to{opacity:1;transform:none;filter:none}
}
#tt-loader .tt-card::after{
  content:"";position:absolute;top:-60%;bottom:-60%;width:38%;left:-45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);
  transform:skewX(-18deg);
  animation:tt-sheen 1.1s cubic-bezier(.5,0,.2,1) 2.7s both;
}
@keyframes tt-sheen{from{left:-45%}to{left:120%}}

#tt-loader .tt-mark{width:min(540px,60vw)}
#tt-loader .tt-mark svg{width:100%;height:auto;display:block;overflow:visible;
  --or:#d9843f; --wh:#140928; --k:.75;}

/* révélation du site par mise au point */
html.tt-loading body>*:not(#tt-loader){
  filter:blur(22px) saturate(1.2);
  transform:scale(1.02);
  opacity:.55;
}
html.tt-revealed body>*:not(#tt-loader){
  filter:none;transform:none;opacity:1;
  transition:filter 1.15s cubic-bezier(.22,1,.3,1),
             transform 1.35s cubic-bezier(.16,1,.3,1),
             opacity .8s ease;
}

@media (prefers-reduced-motion:reduce){
  #tt-loader .tt-orb,#tt-loader .tt-card::after{animation:none}
  #tt-loader .tt-card::after{display:none}
}
