/* ============================================================
   Coming Soon 3D – Stylesheet (RTL / Arabic)
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Cairo',system-ui,sans-serif;
  color:#0b1e3a;
  background:
    radial-gradient(1200px 700px at 80% -10%, #dcecff 0%, transparent 60%),
    radial-gradient(900px 600px at 0% 100%, #e6f3ff 0%, transparent 60%),
    linear-gradient(180deg,#f6f9ff 0%,#eef4fb 100%);
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
img{display:block;max-width:100%}
.stage-check[hidden]{display:none!important}
.stage:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
.construction-sign span,.description,.subtitle,.side-quote,.slogan{white-space:pre-line;overflow-wrap:anywhere}

/* ---------- Preloader ---------- */
#preloader{
  position:fixed;inset:0;z-index:1000;background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  transition:opacity .6s ease,visibility .6s;
}
#preloader.hide{opacity:0;visibility:hidden}
.pre-logo{width:84px;animation:pulse 1.4s ease-in-out infinite}
.pre-bar{width:200px;height:6px;border-radius:99px;background:#e6eefc;overflow:hidden}
.pre-bar span{display:block;height:100%;width:40%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--primary));animation:slide 1.1s ease-in-out infinite}
#preloader p{color:#5f7398;font-size:14px}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes slide{0%{transform:translateX(160%)}100%{transform:translateX(-260%)}}

/* ---------- Background FX ---------- */
.bg-glow{position:fixed;border-radius:50%;filter:blur(90px);opacity:.55;pointer-events:none;z-index:0}
.bg-glow-1{width:520px;height:520px;background:#bcdcff;top:-140px;left:-120px;animation:float 12s ease-in-out infinite}
.bg-glow-2{width:460px;height:460px;background:#cfe6ff;bottom:-160px;right:-100px;animation:float 14s ease-in-out infinite reverse}
.bg-grid{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(24,119,224,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(24,119,224,.08) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);
}
#particles{position:fixed;inset:0;z-index:0;pointer-events:none}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-40px)}}

/* ---------- Header ---------- */
.site-header{
  position:relative;z-index:5;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px clamp(18px,4vw,60px);
}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{width:64px;height:64px;filter:drop-shadow(0 8px 18px rgba(24,119,224,.35));animation:logoFloat 5s ease-in-out infinite}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-3deg)}}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-ar{font-size:24px;font-weight:900;color:var(--secondary)}
.brand-en{font-family:'Poppins',sans-serif;font-size:17px;font-weight:800;color:var(--primary);letter-spacing:.2px;direction:ltr;text-align:right}
.brand-tag{font-size:12px;color:#6b7fa3;margin-top:3px}
.header-note{font-size:14px;color:#4b5f85;font-weight:600}
.header-note i{color:#ef4444;margin-inline-end:6px;animation:beat 1.3s infinite}
@keyframes beat{0%,100%{transform:scale(1)}20%{transform:scale(1.25)}40%{transform:scale(1)}}

/* ---------- Hero ---------- */
.hero{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(340px,520px) 1fr;gap:30px;align-items:center;
  padding:10px clamp(18px,4vw,60px) 30px;min-height:calc(100vh - 110px);
}
.hero-content{display:flex;flex-direction:column;gap:14px}
.badge-day{
  align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(90deg,#fff7e6,#fff);border:1px solid #ffe2b3;color:#9a5b00;
  padding:7px 14px;border-radius:99px;font-size:13px;font-weight:700;
  box-shadow:0 6px 18px rgba(245,158,11,.15);
}
.badge-day i{color:var(--orange);animation:hammer 1.6s ease-in-out infinite;transform-origin:bottom right}
@keyframes hammer{0%,100%{transform:rotate(0)}30%{transform:rotate(-30deg)}50%{transform:rotate(8deg)}}
.badge-day b{color:var(--primary);font-size:15px}

.title{line-height:1.1;display:flex;flex-direction:column}
.title-1{font-size:clamp(34px,4.2vw,56px);font-weight:800;color:#0b1e3a}
.title-2{
  font-size:clamp(44px,5.8vw,78px);font-weight:900;
  background:linear-gradient(90deg,var(--secondary) 0%,var(--primary) 50%,var(--accent) 100%);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shine 4s linear infinite;
}
@keyframes shine{to{background-position:200% center}}
.subtitle{font-size:clamp(18px,1.8vw,24px);font-weight:800;color:var(--secondary)}
.description{font-size:16px;color:#5a6d92;font-weight:600}

.features{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px}
.feature{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:12.5px;font-weight:700;color:#334a72}
.feature-icon{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:21px;color:var(--primary);
  background:#fff;box-shadow:0 8px 20px rgba(11,60,124,.10),inset 0 0 0 1px #e3ecfb;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,color .3s;
}
.feature:hover .feature-icon{transform:translateY(-6px) rotate(-6deg);box-shadow:0 16px 28px rgba(24,119,224,.25);color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent))}

/* Countdown */
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}
.cd-box{
  background:#fff;border-radius:18px;padding:12px 6px;text-align:center;
  box-shadow:0 10px 26px rgba(11,60,124,.10),inset 0 0 0 1px #e3ecfb;position:relative;overflow:hidden;
}
.cd-box::after{content:'';position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,var(--accent),var(--primary))}
.cd-num{display:block;font-family:'Poppins','Cairo',sans-serif;font-size:clamp(26px,2.6vw,34px);font-weight:800;color:#0b1e3a;line-height:1;transition:transform .2s}
.cd-num.tick{animation:tick .35s ease}
@keyframes tick{0%{transform:translateY(-8px);opacity:0}100%{transform:translateY(0);opacity:1}}
.cd-label{display:block;font-size:12.5px;color:#6b7fa3;font-weight:700;margin-top:6px}

/* Progress */
.progress-wrap{display:flex;align-items:center;gap:12px;margin-top:4px}
.progress-track{flex:1;height:12px;border-radius:99px;background:#dde8f8;overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}
.progress-fill{
  height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  background-size:200% 100%;position:relative;
  animation:progGrow 1.6s .8s cubic-bezier(.22,1,.36,1) forwards,progShine 2.2s linear infinite;
}
@keyframes progGrow{to{width:var(--p)}}
@keyframes progShine{to{background-position:-200% 0}}
.progress-fill::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.25) 0 8px,transparent 8px 16px);animation:stripes 1s linear infinite}
@keyframes stripes{to{background-position:22px 0}}
.progress-num{font-family:'Poppins',sans-serif;font-weight:800;color:var(--primary);font-size:18px;min-width:52px}

/* Notify form */
.notify{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.btn-notify{
  display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--secondary);font-weight:800;font-size:14px;
  padding:0 18px;height:50px;border-radius:14px;box-shadow:0 8px 20px rgba(11,60,124,.10),inset 0 0 0 1px #e3ecfb;transition:.3s;
}
.btn-notify:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(11,60,124,.18)}
.btn-notify i{color:var(--orange);animation:ring 2.4s infinite}
@keyframes ring{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(15deg)}90%{transform:rotate(-15deg)}95%{transform:rotate(10deg)}}
.email-wrap{flex:1;min-width:230px;display:flex;background:#fff;border-radius:14px;height:50px;box-shadow:0 8px 20px rgba(11,60,124,.10),inset 0 0 0 1px #e3ecfb;overflow:hidden;transition:.3s}
.email-wrap:focus-within{box-shadow:0 8px 24px rgba(24,119,224,.25),inset 0 0 0 2px var(--primary)}
.email-wrap input{flex:1;border:0;outline:0;padding:0 16px;font:inherit;font-size:14px;color:#0b1e3a;background:transparent}
.btn-send{width:54px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:17px;transition:.3s}
.btn-send:hover{filter:brightness(1.1)}
.btn-send i{transition:transform .4s}
.btn-send:hover i{transform:translateX(-4px) rotate(-15deg)}
.notify-hint{font-size:12.5px;color:#7a8db0;font-weight:600;transition:.3s}
.notify-hint.ok{color:#16a34a;font-weight:800}
.notify-hint.err{color:#dc2626;font-weight:800}

/* ---------- 3D Scene ---------- */
.hero-scene{position:relative;min-height:560px;height:clamp(520px,68vh,720px)}
#scene-3d{position:absolute;inset:0;border-radius:32px;overflow:hidden}
#scene-3d canvas{display:block;width:100%!important;height:100%!important}

/* Doctor card */
.doctor-card{
  position:absolute;right:9%;top:6%;width:clamp(200px,22%,250px);z-index:3;
  background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-radius:24px;
  box-shadow:0 30px 60px rgba(11,60,124,.22),inset 0 0 0 1px rgba(255,255,255,.8);
  padding:14px 14px 16px;text-align:center;
  transform-style:preserve-3d;transition:transform .15s ease-out;
  animation:cardIn 1.2s .5s cubic-bezier(.22,1,.36,1) both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(40px) rotateY(-20deg)}to{opacity:1;transform:none}}
.dc-glow{position:absolute;inset:-2px;border-radius:26px;z-index:-1;background:conic-gradient(from 0deg,var(--accent),var(--primary),#fff,var(--accent));opacity:.5;filter:blur(10px);animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dc-photo{
  width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top;border-radius:18px;
  background:linear-gradient(180deg,#e7f1ff,#fff);box-shadow:0 12px 24px rgba(11,60,124,.15);
}
.dc-info{margin-top:12px;position:relative}
.dc-logo{width:34px;height:34px;position:absolute;top:-30px;inset-inline-start:-4px;background:#fff;border-radius:10px;padding:4px;box-shadow:0 6px 14px rgba(0,0,0,.12)}
.dc-info h3{font-size:17px;font-weight:900;color:var(--secondary)}
.dc-info p{font-size:12.5px;color:#5a6d92;font-weight:700}
.dc-clinic{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:800;color:var(--primary);background:#eaf3ff;border-radius:99px;padding:4px 12px}
.dc-chip{
  position:absolute;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:var(--secondary);
  background:#fff;padding:7px 11px;border-radius:12px;box-shadow:0 10px 22px rgba(11,60,124,.18);white-space:nowrap;
  animation:chipFloat 4s ease-in-out infinite;
}
.dc-chip i{color:var(--primary)}
.chip-1{top:8%;inset-inline-start:-30%;animation-delay:0s}
.chip-2{top:42%;inset-inline-start:-34%;animation-delay:1.3s}
.chip-3{bottom:10%;inset-inline-start:-28%;animation-delay:2.6s}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Construction sign */
.construction-sign{
  position:absolute;left:5%;bottom:16%;z-index:3;
  display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:10px 14px;
  font-family:'Poppins',sans-serif;font-weight:800;font-size:12px;line-height:1.1;color:#0b1e3a;direction:ltr;
  box-shadow:0 14px 30px rgba(11,60,124,.18);border:3px solid var(--orange);
  animation:signSwing 3s ease-in-out infinite;transform-origin:top center;
}
.construction-sign i{color:var(--orange);font-size:22px}
.construction-sign.launched{border-color:#16a34a}
.construction-sign.launched i{color:#16a34a}
@keyframes signSwing{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}

.side-quote{position:absolute;left:4%;top:2%;z-index:3;font-size:15px;font-weight:800;color:var(--secondary);text-align:left;direction:rtl}
.side-quote small{font-family:'Poppins',sans-serif;font-weight:600;font-size:11px;color:#7a8db0;direction:ltr;display:block;text-align:left}

/* ---------- Timeline ---------- */
.timeline{position:relative;z-index:2;padding:6px clamp(18px,4vw,60px) 10px}
.timeline-track{
  display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:8px;
  background:rgba(255,255,255,.65);backdrop-filter:blur(10px);border-radius:24px;padding:14px 12px;
  box-shadow:0 20px 40px rgba(11,60,124,.10),inset 0 0 0 1px rgba(255,255,255,.9);
}
.stage{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px;border-radius:16px;transition:.3s;position:relative}
.stage:hover{background:#fff;transform:translateY(-4px)}
.stage-tile{
  width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:20px;position:relative;
  background:linear-gradient(145deg,#f4f8ff,#dfeafb);color:#8ea3c7;
  box-shadow:0 8px 16px rgba(11,60,124,.10),inset 0 -4px 0 rgba(11,60,124,.10);
  transform:perspective(300px) rotateX(8deg);transition:.35s;
}
.stage.done .stage-tile{background:linear-gradient(145deg,#e0f2ff,#bfe0ff);color:var(--primary)}
.stage.active .stage-tile{
  background:linear-gradient(145deg,var(--primary),var(--accent));color:#fff;
  box-shadow:0 0 0 4px #fff,0 0 0 6px var(--primary),0 14px 28px rgba(24,119,224,.4);
  animation:activePulse 2s ease-in-out infinite;
}
@keyframes activePulse{0%,100%{transform:perspective(300px) rotateX(8deg) scale(1)}50%{transform:perspective(300px) rotateX(8deg) scale(1.08)}}
.stage-check{position:absolute;top:-6px;inset-inline-end:-6px;width:18px;height:18px;border-radius:50%;background:#16a34a;color:#fff;font-size:9px;display:grid;place-items:center;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.stage-day{font-family:'Poppins',sans-serif;font-size:10.5px;font-weight:700;color:#8ea3c7;direction:ltr}
.stage.active .stage-day{color:var(--primary)}
.stage-title{font-size:11px;font-weight:800;color:#334a72;line-height:1.2;text-align:center}
.stage.todo .stage-title{color:#8ea3c7}

/* ---------- Footer ---------- */
.site-footer{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(18px,4vw,60px) 26px;flex-wrap:wrap}
.social{display:flex;gap:8px}
.social a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--primary);font-size:16px;box-shadow:0 6px 16px rgba(11,60,124,.10);transition:.3s}
.social a:hover{background:var(--primary);color:#fff;transform:translateY(-4px) rotate(-8deg)}
.slogan{font-size:14px;font-weight:800;color:var(--secondary)}
.copy{font-size:12px;color:#7a8db0;text-align:left;line-height:1.6;font-weight:600}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,40px);opacity:0;z-index:999;background:#0b1e3a;color:#fff;padding:12px 20px;border-radius:14px;font-weight:700;font-size:14px;box-shadow:0 20px 40px rgba(0,0,0,.25);transition:.4s cubic-bezier(.22,1,.36,1)}
.toast.show{transform:translate(-50%,0);opacity:1}

/* ---------- Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
[data-reveal].in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .hero{grid-template-columns:1fr;gap:10px}
  .hero-scene{order:-1;height:clamp(420px,55vh,560px);min-height:420px}
  .doctor-card{right:4%;top:10%;width:220px}
  .dc-chip{display:none}
  .timeline-track{grid-template-columns:repeat(5,1fr)}
}
@media (max-width:640px){
  .site-header{flex-direction:column;gap:10px;align-items:flex-start}
  .header-note{display:none}
  .features,.countdown{grid-template-columns:repeat(2,1fr)}
  .hero-scene{height:420px}
  .doctor-card{width:190px;padding:10px}
  .side-quote{display:none}
  .construction-sign{left:4%;bottom:6%}
  .timeline-track{grid-template-columns:repeat(3,1fr)}
  .site-footer{justify-content:center;text-align:center}
  .copy{text-align:center}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
