/* DURIS Splash Screen */
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family:'Plus Jakarta Sans',sans-serif;
  background:#F5F5F5;
  height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  overflow:hidden;
}
.splash-logo-wrap {
  width:110px; height:110px; border-radius:28px;
  background:#2D7A2E; display:flex; align-items:center;
  justify-content:center; margin-bottom:24px;
  animation:logoIn .7s cubic-bezier(.34,1.56,.64,1) both;
  box-shadow:0 8px 32px rgba(45,122,46,.30);
}
.splash-logo { width:64px; height:64px; object-fit:contain; }
.splash-name {
  font-size:42px; font-weight:800; color:#1A1A1A;
  letter-spacing:4px; line-height:1;
  animation:fadeUp .6s ease .3s both;
}
.splash-sub {
  font-size:13px; color:#888; letter-spacing:1.5px;
  text-transform:uppercase; margin-top:6px;
  animation:fadeUp .6s ease .45s both;
}
.splash-dots {
  display:flex; gap:8px; margin-top:48px;
  animation:fadeUp .6s ease .6s both;
}
.splash-dot {
  width:8px; height:8px; border-radius:50%;
  background:#2D7A2E; opacity:.3;
  animation:dotPulse 1.2s ease-in-out infinite;
}
.splash-dot:nth-child(2) { animation-delay:.2s; }
.splash-dot:nth-child(3) { animation-delay:.4s; }
.splash-loading {
  font-size:12px; color:#aaa; margin-top:12px;
  animation:fadeUp .6s ease .7s both;
}
@keyframes logoIn  { from{opacity:0;transform:scale(.5)} to{opacity:1;transform:scale(1)} }
@keyframes fadeUp  { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes dotPulse{ 0%,100%{opacity:.3} 50%{opacity:1} }
body.out { animation:fadeOut .45s ease forwards; }
@keyframes fadeOut { to{opacity:0;transform:scale(1.04)} }