:root{
  --navy:#0E2A5C;--blue:#1A4FBF;--blue2:#2563EB;--blue3:#EFF6FF;
  --green:#0D5C42;--green2:#059669;--green3:#ECFDF5;
  --amber:#D97706;--red:#DC2626;
  --dark:#0A1628;--mid:#334155;--gray:#64748B;--light:#F1F5F9;
  --border:#E2E8F0;--white:#FFFFFF;
  --r:14px;--shadow:0 4px 24px rgba(14,42,92,.08);--shadow-lg:0 16px 48px rgba(14,42,92,.15);
  --transition:.3s cubic-bezier(.22,1,.36,1)
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;background:#F8FAFC;color:var(--dark);overflow-x:hidden}
img{display:block;max-width:100%}
button,input,select,textarea{font-family:'Vazirmatn',Tahoma,sans-serif}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes ripple{0%{transform:scale(0);opacity:.4}100%{transform:scale(4);opacity:0}}
@keyframes dotpulse{0%,80%,100%{transform:scale(.7);opacity:.4}40%{transform:scale(1.1);opacity:1}}
@keyframes slideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ping{0%,100%{transform:scale(1);opacity:1}60%{transform:scale(1.6);opacity:0}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--transition),transform .7s var(--transition)}
.reveal.on{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* ── TOP BAR ── */
.topbar{background:var(--navy);padding:.45rem 0;font-size:12px;color:rgba(255,255,255,.7)}
.topbar-inner{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}
.topbar a{color:rgba(255,255,255,.7);text-decoration:none;margin-right:1.5rem;transition:color .2s}
.topbar a:hover{color:#fff}

/* ── NAV ── */
.nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(14,42,92,.07);box-shadow:0 2px 24px rgba(14,42,92,.06)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px;gap:1.5rem}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.logo-mark{width:44px;height:44px;background:linear-gradient(135deg,var(--navy),var(--blue2));border-radius:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(26,79,191,.3)}
.logo-text{display:flex;flex-direction:column;line-height:1.2}
.logo-text span:first-child{font-size:16px;font-weight:800;color:var(--navy)}
.logo-text span:last-child{font-size:11px;color:var(--gray);font-weight:400}

/* a/text rules */
a{text-decoration:none;color:inherit}
.mono{font-family:'JetBrains Mono',monospace}
.container{max-width:1280px;margin:0 auto;padding:0 2rem}
