/* ==========================================================================
   IMMOBILART — Splash di apertura app (solo su avvio da icona/PWA)
   ========================================================================== */

#app-splash{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(120% 90% at 50% 32%, rgba(61,143,206,.28), transparent 60%),
    linear-gradient(160deg, var(--anthracite) 0%, var(--paper) 70%, var(--anthracite-soft) 100%);
  overflow:hidden;
  cursor:pointer;
  animation: splash-out .7s ease-in 2.7s forwards;
}
#app-splash.splash-skip{ animation: splash-out .45s ease-in forwards; }

#app-splash .splash-inner{
  position:relative;display:flex;flex-direction:column;align-items:center;
  gap:22px;padding:0 24px;text-align:center;
}

/* Alone luminoso pulsante dietro l'icona */
#app-splash .splash-glow{
  position:absolute;top:50%;left:50%;width:260px;height:260px;
  transform:translate(-50%,-64%);
  background:radial-gradient(circle, rgba(61,143,206,.55) 0%, rgba(61,143,206,0) 70%);
  filter:blur(4px);
  opacity:0;
  animation: splash-glow-in 1.6s ease-out .1s forwards;
}

/* Anello che si disegna intorno all'icona */
#app-splash .splash-ring{
  position:absolute;top:50%;left:50%;
  width:150px;height:150px;transform:translate(-50%,-64%);
}
#app-splash .splash-ring circle{
  fill:none;stroke:#8FC4EC;stroke-width:1.4;
  stroke-dasharray:440;stroke-dashoffset:440;
  opacity:0;
  animation: splash-ring-draw 1.15s cubic-bezier(.35,.03,.2,1) .25s forwards;
}

#app-splash .splash-icon{
  position:relative;width:104px;height:104px;
  opacity:0;transform:scale(.55);
  animation: splash-icon-in .85s cubic-bezier(.2,1.15,.3,1) .15s forwards;
  filter:drop-shadow(0 8px 30px rgba(61,143,206,.45));
}
#app-splash .splash-icon img{width:100%;height:100%;display:block;}

#app-splash .splash-word{
  display:flex;font-family:var(--display);font-weight:800;
  font-size:clamp(26px,7vw,38px);letter-spacing:.01em;line-height:1;
}
#app-splash .splash-word span{
  display:inline-block;opacity:0;transform:translateY(14px);
  animation: splash-letter-in .5s ease-out forwards;
}
#app-splash .splash-word .c-grey{color:#C7DCEE;}
#app-splash .splash-word .c-blue{color:#6FB4EA;}

#app-splash .splash-tagline{
  font-family:var(--body);font-weight:500;font-size:12.5px;
  color:rgba(255,255,255,.62);
  letter-spacing:.5em;text-transform:uppercase;
  opacity:0;
  animation: splash-tagline-in .9s ease-out 1.35s forwards;
}

/* Riflesso luminoso che attraversa il blocco logo */
#app-splash .splash-sheen{
  position:absolute;top:-20%;left:-60%;width:40%;height:140%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.18), transparent);
  transform:skewX(-18deg);
  opacity:0;
  animation: splash-sheen-move 1s ease-in-out 1.75s forwards;
}

@keyframes splash-icon-in{
  0%{opacity:0;transform:scale(.55);}
  60%{opacity:1;transform:scale(1.08);}
  100%{opacity:1;transform:scale(1);}
}
@keyframes splash-glow-in{
  0%{opacity:0;transform:translate(-50%,-64%) scale(.7);}
  50%{opacity:1;}
  100%{opacity:.85;transform:translate(-50%,-64%) scale(1.15);}
}
@keyframes splash-ring-draw{
  0%{opacity:0;stroke-dashoffset:440;}
  8%{opacity:1;}
  100%{opacity:.9;stroke-dashoffset:0;}
}
@keyframes splash-letter-in{
  to{opacity:1;transform:translateY(0);}
}
@keyframes splash-tagline-in{
  0%{opacity:0;letter-spacing:.9em;}
  100%{opacity:1;letter-spacing:.5em;}
}
@keyframes splash-sheen-move{
  0%{opacity:0;left:-60%;}
  15%{opacity:1;}
  85%{opacity:1;}
  100%{opacity:0;left:120%;}
}
@keyframes splash-out{
  0%{opacity:1;}
  100%{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.04);}
}

/* Movimento ridotto: versione breve e semplice, nessuna animazione elaborata */
@media (prefers-reduced-motion: reduce){
  #app-splash{animation: splash-out .5s ease-in .9s forwards;}
  #app-splash .splash-glow,#app-splash .splash-sheen{display:none;}
  #app-splash .splash-icon,#app-splash .splash-word span,#app-splash .splash-tagline,#app-splash .splash-ring circle{
    animation-duration:.4s !important;animation-delay:0s !important;transform:none !important;
  }
}

@media (max-width:380px){
  #app-splash .splash-icon{width:84px;height:84px;}
  #app-splash .splash-ring{width:120px;height:120px;}
}
