/* Brand splash screen (assets/splash.js adds .splash-on to <html> on the first visit of a session).
   Each page sets its colours with a modifier: splash--group, --action, --asad, --rent, --sn, --clean. */
.splash{display:none}
.splash-on .splash,.splash.splash-out{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;align-content:center;gap:26px;
  padding:24px;background:var(--sp-bg,#fff);overflow:hidden;transition:opacity .7s ease,visibility .7s}
.splash-on body{overflow:hidden;animation:none}
.splash.splash-out{opacity:0;visibility:hidden;pointer-events:none}
.splash.splash-out .splash-mark{scale:1.06;transition:scale .7s ease}

.splash-mark{position:relative;display:grid;place-items:center;animation:sp-in 1s cubic-bezier(.2,.7,.2,1) both}
.splash-mark img{display:block;width:var(--sp-w,min(60vw,300px));height:auto}
.splash-badge{padding:clamp(14px,3vw,22px);border-radius:28px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.splash-line{display:block;width:min(46vw,190px);height:3px;border-radius:3px;background:var(--sp-accent,#a8812f);transform-origin:center;animation:sp-line 1.1s .35s cubic-bezier(.7,0,.2,1) both}
@keyframes sp-in{from{opacity:0;scale:.9;filter:blur(8px)}}
@keyframes sp-line{from{transform:scaleX(0)}}

/* Group: white, gold line under the logo */
.splash--group{--sp-bg:#fff;--sp-w:min(72vw,420px);--sp-accent:linear-gradient(90deg,#b8892f,#e6c983,#a8812f)}
/* ACTION: black, orange slash sweeping through, electric flicker */
.splash--action{--sp-bg:#0b0b0c;--sp-accent:#ff5000}
.splash--action .splash-mark{padding:14px 34px;background:#fff;transform:skewX(-14deg);animation:sp-in 1s cubic-bezier(.2,.7,.2,1) both,sp-flicker 1.3s .2s steps(1) both}
.splash--action .splash-mark img{--sp-w:min(56vw,280px);transform:skewX(14deg)}
.splash--action::before{content:"";position:absolute;top:-20%;bottom:-20%;width:26%;left:-40%;background:linear-gradient(170deg,#ff6a1a,#ff3a00);transform:skewX(-16deg);animation:sp-slash 1.2s .1s cubic-bezier(.7,0,.2,1) both;z-index:-1}
@keyframes sp-slash{to{left:120%}}
@keyframes sp-flicker{0%,100%{filter:none}12%{filter:brightness(2.2) drop-shadow(0 0 18px #ff7a2e)}18%{filter:none}30%{filter:brightness(1.8) drop-shadow(0 0 26px #ffd2a8)}36%{filter:none}}
/* Al Asad Al Aswad: black and gold, glowing ring */
.splash--asad{--sp-bg:#0c0b09;--sp-w:min(46vw,200px);--sp-accent:#c9a24a}
.splash--asad .splash-mark::after{content:"";position:absolute;inset:-18px;border:1px solid rgba(201,162,74,.6);border-radius:38px;animation:sp-ring 1.6s .2s ease-out both}
@keyframes sp-ring{from{opacity:0;transform:scale(.85)}60%{opacity:1}to{opacity:.0;transform:scale(1.15)}}
/* Capital Rent: black, brushed gold line */
.splash--rent{--sp-bg:#0e0d0d;--sp-w:min(70vw,360px);--sp-accent:linear-gradient(90deg,transparent,#b8862f,#f0d699,#b8862f,transparent)}
.splash--rent .splash-line{width:min(70vw,360px);height:2px}
/* SN: navy, orange power pulse */
.splash--sn{--sp-bg:#0a1530;--sp-w:min(46vw,200px);--sp-accent:linear-gradient(90deg,#f9b233,#e85d0c)}
.splash--sn .splash-badge{animation:sp-pulse 1.2s .3s ease-out both}
@keyframes sp-pulse{from{box-shadow:0 0 0 0 rgba(242,138,26,.6)}to{box-shadow:0 0 0 40px rgba(242,138,26,0)}}
/* Mrs Clean: white and blue, bubbles rising */
.splash--clean{--sp-bg:#fff;--sp-w:min(42vw,180px);--sp-accent:#2f86c8}
.splash--clean .splash-badge{box-shadow:0 30px 60px -30px rgba(47,134,200,.5)}
.splash-bubbles i{position:absolute;bottom:-60px;width:var(--s);height:var(--s);border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#fff,rgba(173,214,243,.5) 45%,rgba(47,134,200,.15) 70%);box-shadow:inset 0 0 0 1px rgba(47,134,200,.25);animation:sp-rise 2.2s ease-in both}
.splash-bubbles i:nth-child(1){left:18%;--s:46px}
.splash-bubbles i:nth-child(2){left:42%;--s:24px;animation-delay:.25s}
.splash-bubbles i:nth-child(3){left:66%;--s:58px;animation-delay:.1s}
.splash-bubbles i:nth-child(4){left:84%;--s:30px;animation-delay:.4s}
@keyframes sp-rise{to{transform:translateY(-110vh)}}

@media (prefers-reduced-motion:reduce){.splash{display:none!important}}
