/* ---------- Opening splash screen ---------- */
#splash{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 35%,#1250b8 0%,#0a2a6b 55%,#061a45 100%);color:#fff;text-align:center;
  transition:opacity .7s ease,visibility .7s;cursor:pointer;padding:20px;overflow:auto;}
#splash.hide{opacity:0;visibility:hidden;}
#splash .sp-stage{display:flex;align-items:center;justify-content:center;gap:70px;flex-wrap:wrap;}
#splash .sp-school,#splash .sp-ceo{display:flex;flex-direction:column;align-items:center;}
#splash .sp-logo{width:210px;height:210px;border-radius:26px;background:#fff;padding:10px;box-shadow:0 0 0 5px #d4a937,0 14px 40px rgba(0,0,0,.45);
  animation:spPop .9s cubic-bezier(.2,.9,.3,1.2) both;}
#splash .sp-logo img{width:100%;height:100%;object-fit:contain;border-radius:16px;}
#splash h1{margin:24px 0 4px;font-size:2rem;letter-spacing:.5px;animation:spUp .8s .35s ease both;}
#splash .sp-sub{font-size:1.05rem;color:#f0d98a;letter-spacing:3px;text-transform:uppercase;animation:spUp .8s .55s ease both;}
#splash .sp-place{margin-top:6px;color:#cfe0ff;font-size:.95rem;animation:spUp .8s .7s ease both;}

/* CEO welcome */
#splash .sp-photo{width:230px;height:306px;border-radius:22px;overflow:hidden;background:#fff;
  box-shadow:0 0 0 5px #d4a937,0 14px 40px rgba(0,0,0,.45);animation:spPhoto 1s .8s cubic-bezier(.2,.9,.3,1.1) both;}
#splash .sp-photo img{width:100%;height:100%;object-fit:cover;display:block;}
#splash .sp-welcome{margin-top:18px;font-size:2.6rem;font-weight:800;letter-spacing:2px;color:#f0d98a;display:flex;}
#splash .sp-welcome span{display:inline-block;opacity:0;animation:spLetter .7s ease both, spGlow 2.2s 2.4s ease-in-out infinite;}
#splash .sp-from{margin-top:2px;color:#cfe0ff;font-size:.9rem;letter-spacing:2px;text-transform:uppercase;opacity:0;animation:spUp .7s 2.1s ease both;}
#splash .sp-name{margin-top:4px;font-size:1.25rem;font-weight:700;letter-spacing:1.5px;opacity:0;animation:spUp .8s 2.3s ease both;}

#splash .sp-bar{width:260px;height:5px;border-radius:5px;background:rgba(255,255,255,.2);margin-top:32px;overflow:hidden;flex:none;}
#splash .sp-bar i{display:block;height:100%;width:0;background:#d4a937;animation:spLoad 4.8s .2s ease-out forwards;}
#splash .sp-skip{margin-top:10px;font-size:.78rem;color:#9db6e6;opacity:0;animation:spUp .6s 3s ease both;}

@keyframes spPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes spUp{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@keyframes spLoad{to{width:100%}}
@keyframes spPhoto{from{transform:translateX(60px) scale(.8);opacity:0}to{transform:none;opacity:1}}
@keyframes spLetter{from{transform:translateY(30px) rotate(8deg);opacity:0}to{transform:none;opacity:1}}
@keyframes spGlow{0%,100%{text-shadow:0 0 0 rgba(240,217,138,0)}50%{text-shadow:0 0 18px rgba(240,217,138,.9)}}
@media(max-width:760px){
  #splash .sp-stage{gap:22px}
  #splash .sp-logo{width:120px;height:120px}
  #splash h1{font-size:1.3rem;margin-top:12px}
  #splash .sp-photo{width:150px;height:200px}
  #splash .sp-welcome{font-size:1.9rem}
  #splash .sp-name{font-size:1rem}
}
@media print{#splash{display:none !important}}
