:root{
  --bs-font-sans-serif: "Vazirmatn FD", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

body{
  font-family: var(--bs-font-sans-serif);
}

.topbar{
  background: #0b1220;
  color: rgba(255,255,255,.85);
}

.topbar-link{
  color: rgba(255,255,255,.9);
  text-decoration: none;
}
.topbar-link:hover{ text-decoration: underline; }

.navbar-glass{
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,.85);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.brand-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#0d6efd;
  margin-left:10px;
  vertical-align:middle;
}

.hero-section{
  background:
    radial-gradient(1200px 500px at 80% 10%, rgba(13,110,253,.18), transparent 60%),
    radial-gradient(900px 400px at 20% 20%, rgba(32,201,151,.10), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7f8fb 100%);
}

.hero-card{
  border-radius: 1.25rem;
}

.hero-avatar{
  width: 72px;
  height: 72px;
  object-fit: cover;
}

.section{
  scroll-margin-top: 90px;
}

.bg-soft{
  background: #f7f8fb;
}

.icon-badge{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(13,110,253,.10);
  color: #0d6efd;
  font-size: 1.2rem;
}

.icon-badge-sm{
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(13,110,253,.10);
  color: #0d6efd;
  font-size: 1rem;
}

.stat{
  border-radius: 1.25rem;
}

.timeline{
  position: relative;
  padding-right: 1rem;
}
.timeline::before{
  content:"";
  position:absolute;
  right: 10px;
  top:0;
  bottom:0;
  width:2px;
  background: rgba(0,0,0,.08);
}
.timeline-item{
  position: relative;
  padding-right: 2.25rem;
  margin-bottom: 1rem;
}
.timeline-dot{
  position:absolute;
  right: 3px;
  top: 6px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #0d6efd;
  box-shadow: 0 0 0 4px rgba(13,110,253,.15);
}
.timeline-content{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius: 1.25rem;
  padding: 1rem 1.25rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
}

.footer-link{
  color: rgba(0,0,0,.65);
  text-decoration: none;
  font-size: .9rem;
}
.footer-link:hover{
  color: rgba(0,0,0,.85);
  text-decoration: underline;
}
