/* ════════════════════════════════════════════════════════════════════
   INTRO — écran de chargement avec logo Orientis animé
   ════════════════════════════════════════════════════════════════════ */

.oci-intro{
  position:fixed;inset:0;z-index:999999;
  background:radial-gradient(circle at 50% 40%,#0a2249 0%,#071A3D 45%,#040c1c 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  transition:opacity .7s cubic-bezier(.4,0,.2,1), visibility .7s;
}
.oci-intro.oci-intro-hide{opacity:0;visibility:hidden;pointer-events:none}

.oci-intro-glow{
  position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,188,90,.18) 0%,transparent 70%);
  animation:oci-glow-pulse 3.5s ease-in-out infinite;
}
@keyframes oci-glow-pulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}

.oci-intro-mark{
  position:relative;z-index:1;
  opacity:0;transform:scale(.4) rotate(-25deg);
  filter:drop-shadow(0 0 22px rgba(217,188,90,.55));
  animation:oci-mark-in 1s cubic-bezier(.22,1,.36,1) .15s forwards;
}
.oci-intro-mark img{display:block;width:88px;height:auto}
@keyframes oci-mark-in{
  0%{opacity:0;transform:scale(.4) rotate(-25deg)}
  60%{opacity:1;transform:scale(1.08) rotate(4deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}

.oci-intro-word{
  position:relative;z-index:1;text-align:center;margin-top:18px;
  opacity:0;transform:translateY(14px);
  animation:oci-word-in .8s ease .75s forwards;
}
@keyframes oci-word-in{to{opacity:1;transform:translateY(0)}}
.oci-intro-title{
  display:block;font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:26px;letter-spacing:.24em;color:#fff;
}
.oci-intro-subtitle{
  display:block;font-family:'Open Sans',sans-serif;font-weight:400;
  font-size:11px;letter-spacing:.32em;color:#D9BC5A;margin-top:6px;text-transform:uppercase;
}

.oci-intro-bar{
  position:relative;z-index:1;width:130px;height:2px;margin-top:26px;
  background:rgba(217,188,90,.15);border-radius:2px;overflow:hidden;
  opacity:0;animation:oci-bar-fade .4s ease 1.1s forwards;
}
.oci-intro-bar span{
  display:block;height:100%;width:0;background:linear-gradient(90deg,#AC8A1F,#D9BC5A);
  animation:oci-bar-fill 1.1s cubic-bezier(.4,0,.2,1) 1.15s forwards;
}
@keyframes oci-bar-fade{to{opacity:1}}
@keyframes oci-bar-fill{to{width:100%}}

@media (prefers-reduced-motion:reduce){
  .oci-intro-mark,.oci-intro-word,.oci-intro-bar,.oci-intro-bar span,.oci-intro-glow{animation-duration:.3s!important}
}
